рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рддреЗ рд╕рдордп, рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЯ рдЕрдкрдШрдЯрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рд╡рд╕реНрддреБрдУрдВ рдФрд░ рдХрдХреНрд╖рд╛рдУрдВ, рд╡рд╕реНрддреБрдУрдВ, рдЙрдирдХреЗ рдЧреБрдгреЛрдВ рдФрд░ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдирдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ред

рдЕрдкрдШрдЯрди рдХреЛ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рдиреЗ, рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рд╕реЗ рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдЕрдзрд┐рдХ рд╕рдЯреАрдХ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реИред рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рд▓рд┐рдП, рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдиреЗ рд╕рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдореЗрдВ рдЗрддрдиреА рд╡реНрдпрд╛рдкрдХ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХреА рд╣реИред рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдХреА рд╡рд╕реНрддреБрдУрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореЙрдбрд▓ рдмрд╣реБрдд рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ: рд╣рдо рдПрдХ рд╡рд░реНрдЧ рдХреЛ рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдЧреБрдгреЛрдВ рдХреЗ рд╕рд╛рде рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬрд┐рд╕рд╕реЗ рд╣рдореЗрдВ рдкрд░реНрдпрд╛рд╡рд░рдг рдХреЗ рд╕рд╛рде рдмрд╛рддрдЪреАрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рдорд┐рд▓рддреА рд╣реИред
рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ?
рдУрдУрдкреА рдореЙрдбрд▓ рдЖрдкрдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ: рдХреНрдпрд╛ рдпрд╛ рдХреМрди (рдПрдХ рд╡рд╕реНрддреБ), рдХрд┐рд╕ рдкреНрд░рдХрд╛рд░ (рд╡рд░реНрдЧ), рдпрд╣ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ (рд╡рдВрд╢рд╛рдиреБрдХреНрд░рдо), рдХреНрдпрд╛ рдЖрдо рд╣реИ (рдЕрдореВрд░реНрдд), рдпрд╣ рдХреНрдпрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ (рд╡рд┐рдзрд┐рдпрд╛рдБ), рдХреНрдпрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ рд╣реЛрддреА рд╣реИрдВ (рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдпрд╛ рд╡рд░реНрдЧ рдХреЗ рдЧреБрдг) рдХреНрдпрд╛ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ (рдЗрдВрдЯрд░рдлреЗрд╕)ред рдпрд╣рд╛рдВ рдЙрди рдкреНрд░рд╢реНрдиреЛрдВ рдХреА рдПрдХ рдирдореВрдирд╛ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ, рдЬрд┐рдирдХрд╛ рдЙрддреНрддрд░ рд╣рдо рд▓рдЧрд╛рддрд╛рд░ рдЕрдкрдиреЗ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рджреЗрддреЗ рд╣реИрдВред рдЗрди рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм
рд▓рдЧрднрдЧ рд╕рднреА рдЧреБрдгреЛрдВ рдФрд░ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рд╕рд╛рде рд╣реЛрддреЗ рд╣реИрдВред
рд▓рдЧрднрдЧ рд╕рдм рдХреБрдЫ рдХреНрдпреЛрдВ?
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рдУрдУрдкреА рдореЗрдВ рдХрд▓реНрдкрдирд╛ рдХрд░рдиреЗ рдореЗрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрдиреЗ рд╡рд╛рд▓реА рд╡рд╕реНрддреБрдУрдВ рдХреА рдмрд╛рддрдЪреАрдд рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдмрд╛рд░реАрдХрд┐рдпрд╛рдВ рд╣реИрдВ: рд╡рд┐рднрд┐рдиреНрди рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдкрд░рд╕реНрдкрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдХреНрд░рдо, рдШрдЯрдирд╛ рдХреЗ рдЕрд╕реНрдерд╛рдпреА рддрд░реНрдХ, рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░рддреЗ рд╕рдордп рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд░рд┐рдпрд╛рдПрдВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ред рдЬреАрд╡рди рдореЗрдВ, рдЗрд╕реЗ рд╕реБрдЭрд╛рд╡реЛрдВ рдФрд░ рд╕рд┐рдлрд╛рд░рд┐рд╢реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: "рдЦрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╣рд╛рде рдзреЛрдПрдВ", "рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рджрд╛рдБрдд рдмреНрд░рд╢ рдХрд░реЗрдВ", "рдШрд░ рдЫреЛрдбрд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ - рдкреНрд░рдХрд╛рд╢ рдмрдВрдж рдХрд░реЗрдВ" рдФрд░ рдЕрдиреНрдпред рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИ: рдЖрдкрдХреЛ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рд╡рд┐рднрд┐рдиреНрди рд╕рдЬреНрдЬрд╛рдХрд╛рд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдпрд╛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдСрдмреНрдЬреЗрдХреНрдЯ рд╡рд┐рдзрд┐ рдореЗрдВ рдЗрдВрдЯрд░реИрдХреНрд╢рди рддрд░реНрдХ рдХреЛ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдкреЗрд╢ рдХрд░рдирд╛ рд╣реИред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЗрди рдирд┐рдпрдореЛрдВ рдХреЛ рдорд╛рдирдХ рдЙрдкрдХрд░рдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рдЖрд╕рд╛рдиреА рд╕реЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд▓рд╛рдЧреВ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдпрд╣ рдПрдХ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓реА рдФрд░ рдШрдЯрдХреЛрдВ рдХреЛ рдХрд░реАрдм рд╕реЗ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдореИрдВ рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдХреИрд╕реЗ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реВрдВ?
рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЗ рд╕рдорд╛рдзрд╛рди рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдмрд╣реБрдд рдкрд╣рд▓реЗ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рдореМрдЬреВрджрд╛ рдУрдУрдкреА рдореЙрдбрд▓ рдХреЛ рдХреБрдЫ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд╕рд╛рде рдкреВрд░рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬреЛ рдЗрд╕ рддрд░рд╣ рдХреА рдмрд╛рддрдЪреАрдд рдХреЛ рдФрдкрдЪрд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рдПрдХ рдЕрдзреНрдпрдпрди рдЬреЗрд░реЛрдХреНрд╕ PARC рдЗрдВрдЬреАрдирд┐рдпрд░реЛрдВ рдХреЗ рдПрдХ рд╕рдореВрд╣ рджреНрд╡рд╛рд░рд╛ рдЖрдпреЛрдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬрд┐рд╕рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рдЙрдиреНрд╣реЛрдВрдиреЗ рдПрдХ рдирдП рдкреНрд░рддрд┐рдорд╛рди - рдкрд╣рд▓реВ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рд░рдЦрд╛ред рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕рд╛рд░ рд╕рд░рд▓ рд╣реИ - рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЛ "рдУрд░ рд╕реЗ" рджреЗрдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рддрд┐рдмрд┐рдВрдм рддрдВрддреНрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдФрд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЕрдВрддрд┐рдо рдХреЛрдб рдХреЛ рдмрджрд▓рдирд╛ред рдЕрдВрддрд┐рдо рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд░рдЦрдиреЗ рдХреЗ рдмрд╛рдж, AOP рдХреЛ рдХреЛрдб рдореЗрдВ рдХрд╣реАрдВ рднреА рд╣реБрдХ рдмрдирд╛рдиреЗ рдФрд░ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреА рдорджрдж рд╕реЗ рдЗрд╕ рдХреЛрдб рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрд╕реАрдорд┐рдд рд╕реБрд╡рд┐рдзрд╛ рдорд┐рд▓рддреА рд╣реИред
рдЗрд╕ рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╢рдмреНрдж рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ:
1. рд╕рд▓рд╛рд╣ - рд╕рд▓рд╛рд╣ред рдпрд╣ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рд╣реИред рдмрдпрд╛рди рдХреЗ рд▓рд┐рдП "рдЦрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╣рд╛рде рдзреЛрдПрдВ," рд╕рд▓рд╛рд╣ рд╣реЛрдЧреА "рдЕрдкрдиреЗ рд╣рд╛рде рдзреЛрдПрдВред" рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ, рдпреБрдХреНрддрд┐рдпрд╛рдБ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рд╕реЗ рдмрд╣реБрдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИрдВ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рдзрд┐рдпреЛрдВ, рдЕрдирд╛рдо рдХрд╛рд░реНрдпреЛрдВ рдФрд░ рдХреНрд▓реЛрдЬрд░ рдХреЗ рд░реВрдк рдореЗрдВ рджрд░реНрд╢рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдкрд░рд┐рд╖рдж рдХреЛ рдкрддрд╛ рд╣реИ рдХрд┐ рд╡рд╣ рдХрд┐рд╕ рд╕реНрдерд╛рди рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд▓рдЧрднрдЧ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред
2. рдЬреЙрдЗрдирдкреЙрдЗрдВрдЯ - рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдмрд┐рдВрджреБред рдпрд╣ рд╢рдмреНрдж рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдкрд░рд┐рд╖рдж рдХреЛ рдЬреЛрдбрд╝рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдПрд╕реНрдкреЗрдХреНрдЯрдЬ, рдЬреЛ рдПрдУрдкреА рдХрд╛ рдкреНрд░рд╛рдердорд┐рдХ рд╕реНрд░реЛрдд рд╣реИ, рдореЗрдВ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд┐рдВрджреБ рд╣реИрдВ: рдПрдХ рд╡рд┐рдзрд┐ рддрдХ рдкрд╣реБрдВрдЪ, рдПрдХ рд╡рд┐рдзрд┐ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛, рдПрдХ рд╡рд░реНрдЧ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рдирд╛, рдПрдХ рдирдИ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛, рдФрд░ рдХрд┐рд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдХреА рд╕рдВрдкрддреНрддрд┐ рддрдХ рдкрд╣реБрдВрдЪрдирд╛ред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рдУ! рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рджреЛрдиреЛрдВ рдЧрддрд┐рд╢реАрд▓ рдФрд░ рд╕реНрдерд┐рд░, рдЕрдВрддрд┐рдо рдХрдХреНрд╖рд╛рдУрдВ рдФрд░ рд▓рдХреНрд╖рдгреЛрдВ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ; рдСрдмреНрдЬреЗрдХреНрдЯ рдкрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рдФрд░ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдЧреБрдгреЛрдВ рдХрд╛ рдЕрд╡рд░реЛрдзрди рд╕рдорд░реНрдерд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "рдЦрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╣рд╛рде рдзреЛрдирд╛" рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдЪрдп рдмрд┐рдВрджреБ "рднреЛрдЬрди рдХреА рд╢реБрд░реБрдЖрдд" рд╣реЛрдЧрд╛, рдпрд╛, рдУрдУрдкреА рд╢рдмреНрджреЛрдВ рдореЗрдВ, "рдорд╛рдирд╡" рд╡рд░реНрдЧ рдХреА "рдЦрд╛рдУ ()" рд╡рд┐рдзрд┐ред
3. рдкреЙрдЗрдВрдЯрдХрдЯ - рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ред рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдмрд┐рдВрджреБрдУрдВ рдХреА рдмрд╣реБрд▓рддрд╛ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд╕рд▓рд╛рд╣ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╣реИред AOP рдХреА рджреБрдирд┐рдпрд╛ рдореЗрдВ, рдпрд╣ SQL рд╕реЗ SELECT рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИред рдЕрдВрдХреЛрдВ рдХреЗ рдХрдЯрдСрдл рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд╛рдХреНрдпрд╡рд┐рдиреНрдпрд╛рд╕ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрд╡рдпрдВ, рд▓реЗрдХрд┐рди рдПрдХ рдирд┐рдпрдо рдХреЗ рд░реВрдк рдореЗрдВ, рдпреЗ рдРрд╕реЗ рдлрд┐рд▓реНрдЯрд░ рд╣реИрдВ рдЬреЛ рдЗрдирдкреБрдЯ рдкрд░ рдмрд╣реБрдд рд╕рд╛рд░реЗ рдПрдореНрдмреЗрдбрд┐рдВрдЧ рдЕрдВрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рд╕реЗ рдХреЗрд╡рд▓ рдЙрдкрдпреБрдХреНрдд рдХрд╛ рдЪрдпрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЧреЛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдореЗрдВ! рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ xml, yaml рдФрд░ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рд╣реЛрдЧрд╛ред рдмрд┐рдВрджреБрдУрдВ рдХрд╛ рдПрдХ рдЯреБрдХрдбрд╝рд╛ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдХрдХреНрд╖рд╛ рдореЗрдВ рд╕рднреА рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╡рд┐рдзрд┐рдпрд╛рдБ, рд╕рднреА рд╕реНрдереИрддрд┐рдХ рд╡рд┐рдзрд┐рдпрд╛рдБ * рдЗрдирд┐рдЯ (), рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рд╕рднреА рд╡рд┐рдзрд┐рдпрд╛рдБ, рдЖрджрд┐ред
рд╣рд╕реНрддрд╛рдХреНрд╖рд░ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕реНрд▓рд╛рдЗрд╕ рднреА рдкрд░рд┐рд╖рдж рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП рд╕рд╛рдкреЗрдХреНрд╖ рд╕реНрдерд╛рди рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддрд╛ рд╣реИ: рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд┐рдВрджреБ рдХреЗ рдЖрд╕рдкрд╛рд╕, рдкрд╣рд▓реЗ, рдмрд╛рдж рдореЗрдВред рд╣реИрдВрдбрд╡рд╛рд╢рд┐рдВрдЧ рдХреЗ рд╕рд╛рде рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП, рдЕрдВрдХреЛрдВ рдХреА рдХрдЯреМрддреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдПрдХрдорд╛рддреНрд░ рдмрд┐рдВрджреБ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧреА: "рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрджрдореА-> рдЦрд╛рдПрдВ ()"ред рдпрджрд┐ рд╣рдо рдкреВрд░реНрдг рд╕реНрд╡рдЪреНрдЫрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдмрд┐рдВрджреБ рдХреЛ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ "рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рд╕реЗ рдкрд╣рд▓реЗ рдЖрджрдореА -> * ()", рдЬреЛ рд╣рдореЗрдВ рдХрд┐рд╕реА рднреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ рдкрд╣рд▓реЗ рд╣рдореЗрд╢рд╛ рдЕрдкрдиреЗ рд╣рд╛рде рдзреЛрдиреЗ рдХреА рдЗрдЪреНрдЫрд╛ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрдЧрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдПрдХ рдЪреМрдХрд╕ рдкрд╛рдардХ рдХреЛ рдПрд╣рд╕рд╛рд╕ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ "рдЖрджрдореА-> рд╡реЙрд╢рд╣реИрдВрдбреНрд╕ ()" рд╡рд┐рдзрд┐ рднреА рдЗрд╕ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдЖрддреА рд╣реИред рдпрд╣ рдХреНрдпрд╛ рдзрдордХреА рджреЗрддрд╛ рд╣реИ рдФрд░ рдмреНрдпрд╛рдЬ рд╕реЗ рдмрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕реНрд╡рддрдВрддреНрд░ рдЕрдзреНрдпрдпрди рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рд░рд╣реЗрдЧрд╛ред
4. рдкрд╣рд▓реВ - рдПрдУрдкреА рдХреЗ рдврд╛рдВрдЪреЗ рдореЗрдВ рдореБрдЦреНрдп рдЗрдХрд╛рдИ, рдЬреЛ рдЖрдкрдХреЛ рдЙрди рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдВрдХреЛрдВ рдХреЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдПрдХ рд╕рд╛рде рд░рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреА рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░рд╛ рдорд╛рдорд▓рд╛ рдПрдХ рд╕реНрд╡рд╕реНрде рдЬреАрд╡рди рд╢реИрд▓реА рдХреЛ рд╕рдВрджрд░реНрднрд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рд╕реНрд╡рд╕реНрде рдЬреАрд╡рди рд╢реИрд▓реА рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╣рдорд╛рд░реЗ рд╕реНрд▓рд╛рдЗрд╕ рдФрд░ рдХреБрдЫ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВ: рдЦрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╣рд╛рдереЛрдВ рдХреЛ рдзреЛ рд▓реЗрдВ рдФрд░ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдЕрдкрдиреЗ рджрд╛рдБрдд рдмреНрд░рд╢ рдХрд░реЗрдВред рдЖрдЗрдП рд╣рдо рдЗрд╕ рд╕рдордп рдХреА рдПрдХ рд╕реВрдЪреА рдмрдирд╛рдПрдВред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╕реНрдкрд╖реНрдЯ рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ "рдорд╛рдирд╡" рд╡рд░реНрдЧ рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╡рд┐рдзрд┐ рдХреЗ рдореБрдЦреНрдп рдХреЛрдб рдХреЗ рд╕рд╛рде рдорд┐рд╢реНрд░рдг рдХрд░реЗрдВрдЧреЗред рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЖрд╡рд╢реНрдпрдХ рд╕реБрдЭрд╛рд╡реЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдЕрд▓рдЧ рдкрд╣рд▓реВ рд╡рд░реНрдЧ рд╣реИред рдпрд╣ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд░рд╣рддрд╛ рд╣реИ - рдЙрдиреНрд╣реЗрдВ рдПрдХ рдкреВрд░реЗ рдореЗрдВ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ рд╕рдорд╛рдкреНрдд рдХреЛрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдмреБрдирд╛рдИ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
5. рдмреБрдирд╛рдИ - рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдХреЛрдб рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдмреБрдирд╛рдИ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ред рдпрд╣ рддрдВрддреНрд░ рдкреНрд░рддрд┐рдмрд┐рдВрдм рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрдВрдЬреЗрдХреНрд╢рди рдмрд┐рдВрджреБрдУрдВ рдкрд░ рдпреБрдХреНрддрд┐рдпрд╛рдБ рд▓рд╛рдЧреВ рдХрд░рддрд╛ рд╣реИред рдкреБрд╕реНрддрдХрд╛рд▓рдп рдЬрд╛рдУ! рдпрд╣ PHP рдХреЗ рд▓рд┐рдП рдЕрджреНрд╡рд┐рддреАрдп рд▓реЛрдб-рдЯрд╛рдЗрдо рд╡реАрд╡рд┐рдВрдЧ рддрдХрдиреАрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рдЬреЛ рдЖрдкрдХреЛ рдЙрд╕ рдкрд▓ рдХреЛ рдЯреНрд░реИрдХ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ PHP рдкрд╛рд░реНрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░реНрд╕ рдХрд┐рдП рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдХреЛрдб рдХреЛ рдмрджрд▓ рджреЗрдВред рдпрд╣ рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╕реЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрд┐рдирд╛, рдХреНрд▓рд╛рд╕ рдХреЛрдб рдХреЛ рдЧрддрд┐рд╢реАрд▓ рд░реВрдк рд╕реЗ рдмрджрд▓рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ рд╕рднреА рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ: рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ, рд╣рдо рдЕрдкрдиреЗ рдкрд╣рд▓реБрдУрдВ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реБрдП, рдПрдУрдкреА рдХрд░реНрдиреЗрд▓ рдХреЛ рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рд╣рдо рдХрдВрдЯреНрд░реЛрд▓ рдХреЛ рдореБрдЦреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреЗ рд╣реИрдВред рдЬрдм рдХреЛрдИ рд╡реНрдпрдХреНрддрд┐ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддрд╛ рд╣реИ, рддреЛ рдХреНрд▓рд╛рд╕ рдХрд╛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд▓реЛрдбрд┐рдВрдЧ рдХрд╛рдо рдХрд░реЗрдЧрд╛, рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдлрд╝рд╛рдЗрд▓ рдирд╛рдо рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░реЗрдЧрд╛ рдФрд░ рдЗрд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рдХреЙрд▓ рдХреЛ рдХрд░реНрдиреЗрд▓ рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЯрд░рд╕реЗрдкреНрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдлрд┐рд░ рд╕реНрдереИрддрд┐рдХ рдХреЛрдб рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдФрд░ рд╡рд░реНрддрдорд╛рди рдкрд╣рд▓реБрдУрдВ рдХрд╛ рд╕рддреНрдпрд╛рдкрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдХрд░реНрдиреЗрд▓ рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдЧрд╛ рдХрд┐ рдХреЛрдб рдореЗрдВ рдПрдХ "рд╡реНрдпрдХреНрддрд┐" рд╡рд░реНрдЧ рд╣реИ рдФрд░ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдХрд░реНрдиреЗрд▓ рдореЗрдВ рдХреЛрдб рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рдореВрд▓ рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рдмрджрд▓ рджреЗрдЧрд╛, рдореВрд▓ рдХрдХреНрд╖рд╛ рдХреЗ рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдкреНрд░реЙрдХреНрд╕реА рдХрдХреНрд╖рд╛ рдмрдирд╛рдПрдЧрд╛ рдФрд░ "рдЦрд╛рдиреЗ" рдХреА рд╡рд┐рдзрд┐ рдХреЛ рдУрд╡рд░рд░рд╛рдЗрдб рдХрд░реЗрдЧрд╛, рдФрд░ рдЗрд╕рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреА рд╕реВрдЪреА рдкрд╛рд╕ рдХрд░реЗрдЧрд╛ред рдмрд┐рдВрджреБ рджрд┐рдпрд╛ рдЧрдпрд╛ред рдЕрдЧрд▓рд╛, PHP рдкрд╛рд░реНрд╕рд░ рдЗрд╕ рдХреЛрдб рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдбреЗрдХреЛрд░реЗрдЯрд░ рд╡рд░реНрдЧ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕реНрд░реЛрдд рд╡рд░реНрдЧ рдХреЗ рдирд╛рдо рд╕реЗ рд╕реНрдерд┐рдд рд╣реЛрдЧрд╛, рдЗрд╕рд▓рд┐рдП рдХрдиреЗрдХреНрдЯреЗрдб рдЯрд┐рдкреНрд╕ рдХреЗ рд╕рд╛рде рдХрдиреЗрдХреНрд╢рди рдмрд┐рдВрджреБ рдкрд░ "рдЦрд╛рдиреЗ" рдХреА рд╡рд┐рдзрд┐ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрд▓ рд▓рдкреЗрдЯрд╛ рдЬрд╛рдПрдЧрд╛ред
рд╕реМ рдмрд╛рд░ рд╕реБрдирдиреЗ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИ рдПрдХ рдмрд╛рд░ рджреЗрдЦрдирд╛ред
рдЖрдЗрдП рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрд░реНрдЪрд╛ рдХреА рдЧрдИ рд╣рд░ рдЪреАрдЬ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдо рдПрдХ рдЙрдЪрд┐рдд рд╡реНрдпрдХреНрддрд┐ рдХреЗ рд╡рд░реНрдЧ рдХрд╛ рдПрд╣рд╕рд╛рд╕ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдЦрд╛рдиреЗ, рд╕реЛрдиреЗ, рдХрд╛рдо рдХрд░рдиреЗ рдФрд░ рд╣рд╛рде рдзреЛрдиреЗ рдФрд░ рджрд╛рдБрдд рдзреЛрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗред рд╣рдо рдЕрднреА рддрдХ __clone рд╡рд┐рдзрд┐ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ :)
class Human { public function eat() { echo "Eating...", PHP_EOL; } public function cleanTeeth() { echo "Cleaning teeth...", PHP_EOL; } public function washUp() { echo "Washing up...", PHP_EOL; } public function work() { echo "Working...", PHP_EOL; } public function sleep() { echo "Go to sleep...", PHP_EOL; } }
рдлрд┐рд▓рд╣рд╛рд▓, рд╕рдм рдХреБрдЫ рдлреЗрдВрдЧ рд╢реБрдИ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ: рдкреНрд░рддреНрдпреЗрдХ рд╡рд┐рдзрд┐ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдХрд╛рдо рд╕реЗ рдирд┐рдкрдЯрддреА рд╣реИ, рддрд░реАрдХреЛрдВ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЦрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рд╣рд╛рде рдзреЛрдиреЗ рдХрд╛ рддрд░реНрдХ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдЦрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдФрд░ рдмрд┐рд╕реНрддрд░ рдкрд░ рдЬрд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЕрдкрдиреЗ рджрд╛рдВрддреЛрдВ рдХреЛ рднреА рдмреНрд░рд╢ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП:
class Human { public function eat() { $this->washUp(); echo "Eating...", PHP_EOL; $this->cleanTeeth(); }
рдмрд┐рдирд╛ рдЬреНрдпрд╛рджрд╛ рд╕реЛрдЪреЗ-рд╕рдордЭреЗ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЙрдкрд░реЛрдХреНрдд рд╡рд░реНрдгрд┐рдд рддрд░реАрдХреЗ рд╕реЗ рдХрд░реЗрдЧрд╛: рдЗрди рддрд░реАрдХреЛрдВ рдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреА рдПрдХрдорд╛рддреНрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░реА рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХрд╛ рдЙрд▓реНрд▓рдВрдШрди рдХрд░рддреЗ рд╣реБрдП, "рдЦрд╛рдПрдВ" рдФрд░ "рдиреАрдВрдж" рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рдХреЛрдб рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рд╕реЗ рдХреЙрд▓ рдХрд░реЗрдВред рд╕реМрднрд╛рдЧреНрдп рд╕реЗ, рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рд╕рд░рд▓ рд╣реИрдВ, рдЖрдк рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдпрд╣рд╛рдВ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЬреАрд╡рди рдореЗрдВ, рд╕рдм рдХреБрдЫ рдмрд╣реБрдд рджреБрдЦрдж рд╣реИ: рдЖрдк рдХрд┐рддрдиреА рдмрд╛рд░ рдПрдХ рдХреЛрдб рдореЗрдВ рдЖрддреЗ рд╣реИрдВ рдЬреЛ рдПрдХ рд╣реА рд╕реНрдерд╛рди рдкрд░ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдИ рд╕рдВрдХреЗрдд рдирд╣реАрдВ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдпрд╣рд╛рдБ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП? рдпрд╣ рдкреНрд░рд╕рд┐рджреНрдз рдореАрдЯреНрд░рд┐рдХ рд╣реИ: рдбрдмреНрд▓реНрдпреВрдЯреАрдПрдл / рдХреЛрдб рдСрдл рд▓рд╛рдЗрдиред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рд╣рд░ рдХрд┐рд╕реА рдХреЗ рдкрд╛рд╕ рдХреЛрдб рдореЗрдВ рдРрд╕реЗ рдЙрджрд╛рд╣рд░рдг рд╣реИрдВ)ред
рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреА рдЕрдЧрд▓реА рд╢реНрд░реЗрдгреА рдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рд╡рд┐рдзрд┐ рдХреЗ рддрд░реНрдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЬрд░реВрд░рдд рд╣реИ рдФрд░ рд╡реЗ рджреВрд╕рд░реЗ рдЪрд░рдо рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ: рд╡реЗ рдХрдХреНрд╖рд╛ рдореЗрдВ рдирдП рддрд░реАрдХреЗ рдмрдирд╛рддреЗ рд╣реИрдВ рдЬреЛ рдХрдИ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рддрд░реНрдХ рдХреЛ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред рдХреНрдпрд╛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ "рд╣рд╛рде рдзреЛрдПрдВ рдФрд░ рдЦрд╛рдПрдВ (") рдХреЗ рддрд░реАрдХреЗ рдХреНрдпрд╛ рд╣реИрдВ?
рдПрдХ рдУрд░, рдореБрдЦреНрдп рд╡рд┐рдзрд┐рдпрд╛рдБ рдЗрд╕ рддрд░реНрдХ рдХреЛ рд╕рдорд╛рдкреНтАНрдд рдХрд░ рджреЗрдВрдЧреА, рд▓реЗрдХрд┐рди рд╣рдорд╛рд░реА рдХрдХреНрд╖рд╛ рдкреНрд░рд╕реНрдлреБрдЯрд┐рдд рд╣реЛрдиреЗ рд▓рдЧреЗрдЧреА, рд╕реАрдзреЗ "рдЦрд╛рдУ (") рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд╡рд░реНрдЧ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдЕрдирд╛рд╡рд╢реНрдпрдХ рддрд░реАрдХреЛрдВ рд╕реЗ рдЕрдЯреЗ рдкрдбрд╝реЗ рд╣реЛрдВрдЧреЗ, рдФрд░ рдХреЛрдб рдореЗрдВ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рдиреЗ рд▓рдЧреЗрдЧреАред рдлрд┐рд░ рд╕реЗ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИред
рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╣реА
рдПрдУрдкреА рдХреЗ рд╕рд╛рде рд░рд┐рдлреИрдХреНрдЯрд░рд┐рдВрдЧ рдкрд░ рд╣рдмрд░реЗ рдкрд░ рдЕрдкрдиреЗ рд▓реЗрдЦ рдореЗрдВ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рддреБрд░рдВрдд рдПрдУрдкреА рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░ рджреВрдВрдЧрд╛ред
рдкрд╣рд▓реВ рдЙрдиреНрдореБрдЦ рджреГрд╖реНрдЯрд┐рдХреЛрдг
рдЖрдк рд╢рд╛рдпрдж рдкрд╣рд▓реЗ рд╣реА рд╕рдордЭ рдЪреБрдХреЗ рд╣реИрдВ рдХрд┐ AOP рдЖрдкрдХреЛ рддрд╛рд░реНрдХрд┐рдХ рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ OOP рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рддрдХрдиреАрдХ рдмрд▓реНрдХрд┐ рдЬрдЯрд┐рд▓ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдПрдУрдкреА рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╣реИ, рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдСрдмреНрдЬреЗрдХреНрдЯ-рдЙрдиреНрдореБрдЦ рдкреНрд░рддрд┐рдорд╛рди рдХреА рд╕рднреА рдЬрдЯрд┐рд▓рддрд╛рдУрдВ рдХреЛ рд╕рдордЭ рд▓рд┐рдпрд╛ рд╣реИ рдФрд░ рдХреБрдЫ рдирдпрд╛ рдЦреЛрдЬрдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред
рдкрд╣рд▓реВ-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдПрдУрдкреА) рдХреЗ рд╕рдВрд╕реНрдерд╛рдкрдХ рдЧреНрд░реЗрдЧрд░ рдХрд┐рдХреНрд▓реЗрдЬ рдиреЗ рдЕрдкрдиреЗ
рд╕рд╛рдХреНрд╖рд╛рддреНрдХрд╛рд░ рдореЗрдВ рдПрдУрдкреА рдХреЗ рд╕рд╛рд░ рдХреЗ рдЕрдкрдиреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреЛ рд╕рд╛рдЭрд╛ рдХрд┐рдпрд╛: "... рдПрдУрдкреА рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рд╕рдВрд░рдЪрдирд╛ рддрдВрддреНрд░ рдХреЗ рд╡рд┐рдХрд╛рд╕ рдореЗрдВ рдЕрдЧрд▓рд╛ рдЪрд░рдг рд╣реИред рдЖрдЬ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЗрд╡рд▓ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рд╕рдВрд░рдЪрдирд╛ рддрдВрддреНрд░ рдмрдирд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ рд╣реИред "рдФрд░ рдкрд╣рд▓реВ рднреА, рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ; рд╡реЗ рдХреЗрд╡рд▓ рдПрдХ рдЕрдиреНрдп рдкреНрд░рдХрд╛рд░ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред"
рдЖрдЗрдП рд╣рдорд╛рд░реЗ рдорд╛рдорд▓реЗ рдХреЛ рдПрдХ рдкрд╣рд▓реВ-рдЙрдиреНрдореБрдЦ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реЗрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдорд╛рд░реЗ "рд╕реНрд╡рдЪреНрдЫ" рддрд░реАрдХреЛрдВ рдХреЗ рд╕рд╛рде "рдЖрджрдореА" рдХрд╛ "рд╢реБрджреНрдз" рд╡рд░реНрдЧ рд▓реЗрдВ рдФрд░ рдкрд╣рд▓реВ рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрд╡рд╢реНрдпрдХ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░реЗрдВ:
namespace Aspect; use Go\Aop\Aspect; use Go\Aop\Intercept\MethodInvocation; use Go\Lang\Annotation\After; use Go\Lang\Annotation\Before; use Go\Lang\Annotation\Around; use Go\Lang\Annotation\Pointcut; class HealthyLiveAspect implements Aspect { protected function humanEat() {} protected function washUpBeforeEat(MethodInvocation $invocation) { $person = $invocation->getThis(); $person->washUp(); } protected function cleanTeethAfterEating(MethodInvocation $invocation) { $person = $invocation->getThis(); $person->cleanTeeth(); } protected function cleanTeethBeforeSleep(MethodInvocation $invocation) { $person = $invocation->getThis(); $person->cleanTeeth(); } }
рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреЛрдб рдЕрдкрдиреЗ рдЖрдк рдореЗрдВ рдХрд╛рдлреА рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рдмреЗрд╣рддрд░ рд╣реИред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╣рдордиреЗ рдмрд┐рдВрджреБрдУрдВ рдХреЗ рдПрдХ рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ - рдПрдХ рдЦрд╛рд▓реА
humanEat()
рд╡рд┐рдзрд┐, рд╡рд┐рд╢реЗрд╖
@Pointcut("execution(public Human->eat(*))")
рдПрдиреЛрдЯреЗрд╢рди
@Pointcut("execution(public Human->eat(*))")
рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рддред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдЕрд▓рдЧ рд╕реНрд▓рд╛рдЗрд╕ рдирд╣реАрдВ рдмрдирд╛рдирд╛ рд╕рдВрднрд╡ рдерд╛, рд▓реЗрдХрд┐рди рдкреНрд░рддреНрдпреЗрдХ рдЯрд┐рдк рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд▓реЗрдХрд┐рди рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрд╕ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рдХрдИ рд╕реБрдЭрд╛рд╡ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╣рдо рдЗрд╕реЗ рдПрдХ рдЕрд▓рдЧ рдкрд░рд┐рднрд╛рд╖рд╛ рдореЗрдВ рд░рдЦ рд╕рдХрддреЗ рд╣реИрдВред рд╕реНрд▓рд╛рдЗрд╕ рдХрд╛ рдирд┐рд░реНрдзрд╛рд░рдг рдХрд░рдиреЗ рдореЗрдВ рд╕реНрд╡рдпрдВ рдФрд░ рдЗрд╕рдХреЗ рдХреЛрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ рдкрд╣рд▓реВ рдореЗрдВ рд╣реА рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрд╣рдЪрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП рд╕реЗрд╡рд╛ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
рджреВрд╕рд░реЗ, рд╣рдордиреЗ рд╕реНрд▓рд╛рдЗрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реНрдерд╛рди рдХреЛ
@After
рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП
@Before
рдФрд░
@After
рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдЦреБрдж рдХреЛ рдкрд╣рд▓реВ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд┐рдпрд╛ред рдЖрдк рддреБрд░рдВрдд рд╕реНрд▓рд╛рдЗрд╕ рдХреЛ рдПрдиреЛрдЯреЗрд╢рди рдореЗрдВ рд╕реЗрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐
cleanTeethBeforeSleep
рд╡рд┐рдзрд┐ рдореЗрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
@Before("execution(public Human->sleep())")
ред рдкреНрд░рддреНрдпреЗрдХ рдиреЛрдХ рдореЗрдердб
MethodInvocation
рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдХрд╛рд░рдг рдирд┐рд╖реНрдкрд╛рджрди рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрд╡рд╢реНрдпрдХ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдСрдмреНрдЬреЗрдХреНрдЯ (рдПрдХ рд╕реНрдерд┐рд░ рд╡рд┐рдзрд┐ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд░реНрдЧ), рдмреБрд▓рд╛рдпрд╛ рд╡рд┐рдзрд┐ рдХреЗ рддрд░реНрдХ, рд╕рд╛рде рд╣реА рдХрд╛рд░реНрдпрдХреНрд░рдо (рд╡рд┐рдзрд┐ рдкреНрд░рддрд┐рдмрд┐рдВрдм) рдореЗрдВ рдмрд┐рдВрджреБ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реАред рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдЧреБрдгреЛрдВ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реА рддрд░рд╣ рдХреА рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рд╛рдкреНрдд рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдЕрдм рд╣рдорд╛рд░рд╛ рдХреЛрдб рдЪрд▓рд╛рдПрдВ:
include isset($_GET['original']) ? './autoload.php' : './autoload_aspect.php';
рдпрджрд┐ рд╣рдо рдЗрд╕ рдХреЛрдб рдХреЛ рдХрд┐рд╕реА рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ рдЪрд▓рд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдирд┐рдореНрди рдЖрдЙрдЯрдкреБрдЯ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ:
Want to eat something, let's have a breakfast! Washing up... Eating... Cleaning teeth... I should work to earn some money Working... It was a nice day, go to bed Cleaning teeth... Go to sleep...
рдЕрдиреНрдп рдлрд╝рд╛рдЗрд▓реЛрдВ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП:
autoload.php ini_set('display_errors', true); spl_autoload_register(function($originalClassName) { $className = ltrim($originalClassName, '\\'); $fileName = ''; $namespace = ''; if ($lastNsPos = strripos($className, '\\')) { $namespace = substr($className, 0, $lastNsPos); $className = substr($className, $lastNsPos + 1); $fileName = str_replace('\\', DIRECTORY_SEPARATOR, $namespace) . DIRECTORY_SEPARATOR; } $fileName .= str_replace('_', DIRECTORY_SEPARATOR, $className) . '.php'; $resolvedFileName = stream_resolve_include_path($fileName); if ($resolvedFileName) { require_once $resolvedFileName; } return (bool) $resolvedFileName; }); ob_start(function($content) { return str_replace(PHP_EOL, "<br>" . PHP_EOL, $content); });
autoload_aspect.php include '../src/Go/Core/AspectKernel.php'; include 'DemoAspectKernel.php';
DemoAspectKernel.php use Aspect\HealthyLiveAspect; use Go\Core\AspectKernel; use Go\Core\AspectContainer; class DemoAspectKernel extends AspectKernel { protected function getApplicationLoaderPath() { return __DIR__ . '/autoload.php'; } protected function configureAop(AspectContainer $container) { $container->registerAspect(new HealthyLiveAspect()); } }
рд╣рдореЗрдВ рдХреНрдпрд╛ рдорд┐рд▓рд╛? рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, "рдорд╛рдирд╡" рд╡рд░реНрдЧ рдореЗрдВ рдЦреБрдж рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рддрд░реНрдХ рдореЗрдВ рдХреЛрдИ рдХрдЪрд░рд╛ рдирд╣реАрдВ рд╣реИред рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрддреНрдХреГрд╖реНрдЯ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рдмрдирд╛рдП рд░рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реЛрдЧрд╛ред рджреВрд╕рд░реЗ, рдРрд╕реА рдХреЛрдИ рд╡рд┐рдзрд┐рдпрд╛рдБ рдирд╣реАрдВ рд╣реИрдВ рдЬреЛ рд╡рд░реНрдЧ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреА рдирдХрд▓ рдХрд░рддреА рд╣реИрдВред рддреАрд╕рд░рд╛, рддрд░реНрдХ рдХреЛ рдкрд╣рд▓реВ рдореЗрдВ рд╕рдордЭрдиреЗ рдпреЛрдЧреНрдп рдпреБрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдпреБрдХреНрддрд┐рдпреЛрдВ рдХрд╛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЕрд░реНрде рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╣рдордиреЗ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдЕрдкрдШрдЯрди рдХрд┐рдпрд╛ рд╣реИ рдФрд░ рд╣рдорд╛рд░реЗ рдЖрд╡реЗрджрди рдХреЛ рдЕрдзрд┐рдХ рд╕рдВрд░рдЪрд┐рдд рдХрд┐рдпрд╛ рд╣реИ! рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдкрд╣рд▓реВ рд╡рд░реНрдЧ рд╕реНрд╡рдпрдВ рдПрдХ рд╕рдордЭрджрд╛рд░ рд▓рдХреНрд╖реНрдп рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИ - рдПрдХ рд╕реНрд╡рд╕реНрде рдЬреАрд╡рди рд╢реИрд▓реАред рдЕрдм рд╕рдм рдХреБрдЫ рдЕрдкрдиреА рдЬрдЧрд╣ рдкрд░ рд╣реИ рдФрд░ рд╣рдо рдЕрддрд┐рд░рд┐рдХреНрдд рддрд░реНрдХ рдХреЛ рдЖрд╕рд╛рдиреА рд╕реЗ рдмрджрд▓ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рд╕реНрд╡рдпрдВ рдХреЗ рд╢реБрджреНрдз рддрд░реНрдХ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг рдЖрдкрдХреЛ рдкрд╣рд▓реВ рдкреНрд░рддрд┐рдорд╛рди рдХреА рдЕрд╡рдзрд╛рд░рдгрд╛ рдХреЛ рдмреЗрд╣рддрд░ рдврдВрдЧ рд╕реЗ рд╕рдордЭрдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ рдФрд░ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рдкрд╣рд▓реВ рдШрдЯрдХ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рдореЗрдВ рдЕрдкрдирд╛ рд╣рд╛рде рдЖрдЬрд╝рдорд╛рдПрдЧрд╛ред рд░реБрдЪрд┐ рд░рдЦрдиреЗ рд╡рд╛рд▓реЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЙрджрд╛рд╣рд░рдг рдбреЗрдореЛ / рд▓рд╛рдЗрдлрд╝ / рдлреЛрд▓реНрдбрд░ рдореЗрдВ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЗ рд╕реЛрд░реНрд╕ рдХреЛрдб рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЖрдк рдЗрд╕реЗ рдЪрд▓рд╛ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХрд╛ рдЕрдзреНрдпрдпрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)
рд╕рдВрджрд░реНрдн:
- рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рд╛рдЗрдЯ http://go.aopphp.com
- рд╕реНрд░реЛрдд рдХреЛрдб https://github.com/lisachenko/go-aop-php