HMVC рдХреЗ рд╕рд╛рде рд╕реНрдХреЗрд▓ рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди

рдкрд┐рдЫрд▓реЗ рджрд╕ рд╡рд░реНрд╖реЛрдВ рдореЗрдВ, рд╣рдо рд╡реЗрдм рдбрд┐рдЬрд╝рд╛рдЗрди рдХреЗ рджреВрд╕рд░реЗ рдЪрдХреНрд░ рдХрд╛ рдЕрд╡рд▓реЛрдХрди рдХрд░ рд░рд╣реЗ рд╣реИрдВ - рд╕рд╛рдЗрдЯреЗрдВ рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдмрджрд▓ рд░рд╣реА рд╣реИрдВ рдФрд░ рд▓рдЧрднрдЧ рдХреЛрдИ рднреА рдирдИ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдирд╣реАрдВ рджрд┐рдЦрд╛рдИ рджреЗрддреА рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреБрдЫ рд╣рдж рддрдХ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рд╢реАрд▓рддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрдВрдЯрд░рдиреЗрдЯ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреА рдмрдврд╝рддреА рдЬрдЯрд┐рд▓рддрд╛ рдиреЗ рдПрдХ рд╕рдВрд░рдЪрд┐рдд рдФрд░ рд╕рдВрддреБрд▓рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдбрд┐рдЬрд╛рдЗрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЖрдЬ, рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рдиреЗ рд╡рд╛рд▓рд╛ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдбрд┐рдЬрд╝рд╛рдЗрди рдкреИрдЯрд░реНрди рдореЙрдбрд▓-рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓рд░ (MVC) рд╣реИред рдЗрд╕рдХрд╛ рд╡реНрдпрд╛рдкрдХ рдЙрдкрдпреЛрдЧ рдЖрдВрд╢рд┐рдХ рд░реВрдк рд╕реЗ рд░реЗрд▓реНрд╕ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд░реВрдмреА рдХреА рд╕рдлрд▓рддрд╛ рдФрд░ рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдЕрдм рдПрдорд╡реАрд╕реА рд╕рднреА рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдХреЗ рдмреАрдЪ рд╡реЗрдм рд╡рд┐рдХрд╛рд╕ рдХрд╛ рд▓рдЧрднрдЧ рдПрдХ рдкрд░реНрдпрд╛рдп рд╣реИред



рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рд▓реЛрдб рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░рддреЗ рд╕рдордп, рдЖрдзреБрдирд┐рдХ рд╕рд╛рдЗрдЯреЗрдВ рддреЗрдЬреА рд╕реЗ рд╕рдорд░реНрдкрд┐рдд рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░рддреА рд╣реИрдВред рдпрд╣, рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдЕрдореЗрдЬрд╝реЕрди рдФрд░ Google рджреНрд╡рд╛рд░рд╛ рдХреНрд▓рд╛рдЙрдб рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рдЙрджреНрдШрд╛рдЯрди рдХреА рд╕реБрд╡рд┐рдзрд╛ рдереА, рдЬреЛ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рд░реНрд╡рд░ рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рд▓реЛрдб рдХреЛ рдХрд╛рдлреА рдХрдо рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рдЕрд▓рдЧ рдЯреБрдХрдбрд╝реЗ рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рдЕрдВрджрд░ рдЪрд▓рддрд╛ рд╣реИ рдФрд░ рдЕрдкрдиреЗ рд╕реНрд╡рдпрдВ рдХреЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред



рдорд╛рдореВрд▓реА рдмрдЬрдЯ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп, рдЖрдорддреМрд░ рдкрд░ рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХреЗ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдкреВрд░реНрдг рдЯреБрдХрдбрд╝реЗ рдХреЗ рд╡рд┐рддреНрддрдкреЛрд╖рдг рдХреЗ рд▓рд╛рднреЛрдВ рдХреЗ рдЧреНрд░рд╛рд╣рдХреЛрдВ рдХреЛ рд╕рдордЭрд╛рдиреЗ рдореЗрдВ рдХрд╛рдлреА рдореБрд╢реНрдХрд┐рд▓ рд╣реЛрддреА рд╣реИред рдЬреИрд╕рд╛ рдХрд┐ рдореЗрд░реЗ рдЕрдиреБрднрд╡ рд╕реЗ рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИ, рдЙрдирдореЗрдВ рд╕реЗ рдХрдИ рдХреА рд░рд╛рдп рд╣реИ рдХрд┐ рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдПрдХ рдЬрд░реВрд░реА рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рд╡реЗ "рдЙрд╕ рджрд┐рди рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдЬрдм рдЙрдиреНрд╣реЗрдВ рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд╛ рдХрд░рдиреА рд╣реЛрдЧреА ред "



рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдирд┐рд╡реЗрд╢ рдХреЛ рдХрдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рддрдп рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреЛ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпреЛрдВ рд╡рд╛рд▓реЗ рд╕рдордЧреНрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд░реВрдк рдореЗрдВ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрджрд┐ рд╕рд╛рдЗрдЯ рдЬрд▓реНрджреА рд▓реЛрдХрдкреНрд░рд┐рдпрддрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░рддреА рд╣реИ, рддреЛ рдпрд╣ рдПрдХ рд╕рдорд╕реНрдпрд╛ рдмрди рдЬрд╛рдПрдЧреАред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдЦрд░рд╛рдм рд╕реНрдХреЗрд▓реЗрдмрд▓ рдХреЛрдб рдмреЗрд╕ рдХреЛ рд░рд┐рдлреНрд▓реЗрдХреНрдЯ рдХрд░рдиреЗ рд╕реЗ рдмрд╣реБрдд рд╕реБрдЦрдж рдЗрдВрдкреНрд░реЗрд╢рди рдирд╣реАрдВ рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдФрд░ рдзрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛ рд╕рдХрддреА рд╣реИред рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ, рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХрддрд╛рдиреБрд╕рд╛рд░ рдмрдврд╝рдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдмрдбрд╝реА рд╡рд┐рддреНрддреАрдп рд▓рд╛рдЧрддреЛрдВ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред





рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд-рдореЙрдбрд▓-рджреГрд╢реНрдп-рдирд┐рдпрдВрддреНрд░рдХ рдкреИрдЯрд░реНрди





рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд-рдореЙрдбрд▓-рд╡реНрдпреВ-рдХрдВрдЯреНрд░реЛрд▓рд░ (HMVC) рдкреИрдЯрд░реНрди рдПрдХ MVC рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рд╕реЗ рдЙрд▓реНрд▓рд┐рдЦрд┐рдд рд╕реНрдХреЗрд▓реЗрдмрд┐рд▓рд┐рдЯреА рдХреЗ рдХрдИ рдореБрджреНрджреЛрдВ рдХреЛ рд╣рд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реА рдмрд╛рд░ рдЬреБрд▓рд╛рдИ 2000 рдореЗрдВ рдПрдХ рдЬрд╛рд╡рд╛рд╡рд░реНрд▓реНрдб рдмреНрд▓реЙрдЧ рд▓реЗрдЦ рдореЗрдВ "рдПрдЪрдПрдорд╡реАрд╕реА: рдП рд▓реЗрдпрд░реНрдб рдкреИрдЯрд░реНрди рдлреЙрд░ рдбреЗрд╡рд▓рдкрд┐рдВрдЧ рдХреНрд▓рд╛рдЗрдВрдЯ рд▓реЗрд╡рд▓" рд╢реАрд░реНрд╖рдХ рд╕реЗ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛; рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд▓реЗрдЦрдХреЛрдВ рдиреЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдФрд░ рдкреИрдЯрд░реНрди - рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡-рдЕрдореВрд░реНрдд-рдкреНрд░рдмрдВрдзрди (рдкреАрдПрд╕реА) - 1987 рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ред рд▓реЗрдЦ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдирд╛ рдерд╛ рдХрд┐ рдПрдЪрдПрдорд╡реАрд╕реА рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдХреЗрд▓реЗрдмрд▓ рд╕рд╛рдЗрдЯреНрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдФрд░ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд╕рд╛рде рдбреЗрд╕реНрдХрдЯреЙрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред



HMVC рдкрд╛рд░рдВрдкрд░рд┐рдХ MVC рдЯреНрд░рд╛рдпрдб рдХрд╛ рдПрдХ рд╕рдВрдЧреНрд░рд╣ рд╣реИ рдЬреЛ рдПрдХрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рддреНрд░рдп рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрд╡рддрдВрддреНрд░ рд╣реИ рдФрд░ рдХрд┐рд╕реА рдЕрдиреНрдп рдХреА рдЕрдиреБрдкрд╕реНрдерд┐рддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд╕рднреА рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП; рдЕрдкрдиреЗ рдбреЛрдореЗрди рдХреЗ рдмрд╛рд╣рд░ рдореЙрдбрд▓ рдпрд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдХрднреА рднреА рдХрдиреЗрдХреНрдЯ рди рдХрд░реЗрдВред рд╕рд░реНрд╡рд░ рдкрд░ рддреНрд░рдп рдХрд╛ рднреМрддрд┐рдХ рд╕реНрдерд╛рди рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛, рдореБрдЦреНрдп рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрдиреНрдп рд╕рднреА рд╣рд┐рд╕реНрд╕реЛрдВ рд╕реЗ рд╕реБрд▓рдн рд╣реИред HMVC рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХреЛрдб рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░ рд░рд╣реА рд╣реИрдВ, рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрд▓рдЧ-рдЕрд▓рдЧ рд╣рд┐рд╕реНрд╕реЛрдВ рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛ рд░рд╣реА рд╣реИрдВ, рдФрд░ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреА рд╣реИрдВ рдХрд┐ рдЖрд╡реЗрджрди рдХреЛ рдЬрдЯрд┐рд▓ рдФрд░ рдмрд┐рдирд╛ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред



рдПрдЪрдПрдорд╡реАрд╕реА рдкреИрдЯрд░реНрди рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╕рдлрд▓ рдПрдкреНрд▓реАрдХреЗрд╢рди рдбрд┐рдЬрд╛рдЗрди рдЕрд▓рдЧ-рдЕрд▓рдЧ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдореЗрдВ рдЕрдкрдиреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдП рдмрд┐рдирд╛ рд╕рдВрднрд╡ рдирд╣реАрдВ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдРрд╕реА рдкреНрд░рдгрд╛рд▓реА рдХреЛ рдПрдХ MVC рдЯреНрд░рд╛рдпрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рднрдВрдбрд╛рд░рдг рд╡рд┐рдзрд┐рдпреЛрдВ рдФрд░ рдкреНрд░рд╕реНрддреБрддрд┐ рдХреЛ рдПрдХ рдмрдбрд╝реЗ HMVC рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рднреАрддрд░ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХрдИ рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИрдВ рдЬреЛ рдЕрддрд┐рд░рд┐рдХреНрдд рдореЙрдбреНрдпреВрд▓ рдХреЗ рдмрд┐рдирд╛ HMVC рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддреЗ рд╣реИрдВред рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рддреАрд╕рд░реЗ рд╕рдВрд╕реНрдХрд░рдг рдХрд╛ рдХреЛрд╣рдирд╛ рдкреАрдПрдЪрдкреА рд╣реИ , рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдЪрдПрдорд╡реАрд╕реА рдкрд░ рдзреНрдпрд╛рди рджреЗрдиреЗ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЖрдЧреЗ рд╕рднреА рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рдореИрдВ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред



рдХреЛрд╣рдирд╛ 3 рдЕрдиреНрдп рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрд░реЛрдз рджреЛрдиреЛрдВ рдЖрдВрддрд░рд┐рдХ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ - рдЖрд╡реЗрджрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд▓рд┐рдП, рдФрд░ рдмрд╛рд╣рд░реА - рд╡реЗрдм рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдПред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдПрдХ рд╣реА рдЕрдиреБрд░реЛрдз рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрджрд┐ MVC рдЯреНрд░рд╛рдпрдб рдХреЛ рджреВрд╕рд░реЗ рд╕рд░реНрд╡рд░ рдореЗрдВ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдХреЗрд╡рд▓ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛ рдмрджрд▓рдирд╛ рд╣реЛрдЧрд╛ред



<?php class Controller_Default extends Controller { public function action_index() { //    $internal_request = Request::factory('controller/action/param') ->execute(); //    $external_request = Request::factory('http://www.ibuildings.com/controller/action/param') ->execute(); } }
      
      





рдПрдХ рдЖрдВрддрд░рд┐рдХ рдЕрдиреБрд░реЛрдз рдХреЛ рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд╕рд╛рде рд╕рд╣реА рдорд╛рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдФрд░ рдПрдХ рдкреВрд░реНрдг рд╕рдВрд╕рд╛рдзрди рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╛рд╣рд░реА рд╕рдВрд╕рд╛рдзрди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдз рдмрдирд╛рдиреЗ рд╕реЗ рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдпрд╣ рд╕реБрд╡рд┐рдзрд╛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЬрдЯрд┐рд▓рддрд╛ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдФрд░ рдмрд╛рд╣рд░реА рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рд╡рд┐рдирд┐рдореЗрдп рдмрдирд╛рддреА рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЦреНрдп рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд╣рд░ рдЯреНрд░рд╛рдпрдб рд▓реЗрдирд╛ рдХрд╛рдлреА рд╕рд░рд▓ рдХрд╛рд░реНрдп рд╣реИред



рдЖрдВрддрд░рд┐рдХ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрд╣рдирд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдз рд╡рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЖрдкрдХреЛ рдЕрдиреНрдп рдлреНрд░реЗрдорд╡рд░реНрдХ рдЬреИрд╕реЗ рдХрд┐ Zend рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд╛рд░реНрдпреЛрдВ рдХреА рдпрд╛рдж рджрд┐рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдпреЗ рджреЛ рдмрд┐рд▓реНрдХреБрд▓ рдЕрд▓рдЧ рд╡рд┐рдзрд┐рдпрд╛рдВ рд╣реИрдВред рдХреЛрд╣рдирд╛ рдореЗрдВ рдЕрдиреБрд░реЛрдзрд┐рдд рд╡рд╕реНрддреБрдПрдБ рдЕрджреНрд╡рд┐рддреАрдп рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрд▓рдЧрд╛рд╡ рдореЗрдВ рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдФрд░ рдЬрдм рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рдЙрдирдореЗрдВ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдирд┐рд░реНрдорд┐рдд рдЕрдиреБрд░реЛрдз рдХреЗ рдЕрдВрджрд░ рдореМрдЬреВрдж рд╣реЛрддрд╛ рд╣реИред рдиреАрдЪреЗ рдпрд╣ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред



рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ - /application/controllers/default.php

 <?php //     class Controller_Default extends Controller { public function action_index() { //     GET if ($this->request->method === 'GET') { //  POST,  array (0) { empty } var_dump($_POST); //       $log = Request::factory('/log/access/'.$page_id); //  POST     $log->method = 'POST'; //  -    $log->post = array( 'uid' => $this->user->id, 'ua' => Request::user_agent('browser'), 'protocol' => Request::$protocol, ); //   $log->execute(); //  POST,   array (0) { empty } var_dump($_POST); } } }
      
      





рд▓реЙрдЧ рдХрдВрдЯреНрд░реЛрд▓рд░ - /application/controllers/log.php

 <?php //     class Controller_Log extends Controller { public function action_access($page_id) { //     index ( ) //       // array(3){string (3) 'uid' => int (1) 1, string (2) 'ua' => string(10) 'Mozilla... var_dump($_POST); //    Log $log = new Log_Model; //     $log->set_values($_POST) ->save(); } }
      
      





рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╕реНрд╡рддрдВрддреНрд░рддрд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, GET рдЕрдиреБрд░реЛрдз рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдЕрдиреБрдХреНрд░рдордгрд┐рдХрд╛ рдХреНрд░рд┐рдпрд╛ рдХреЛ рдЖрдордВрддреНрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдЬрд╡рд╛рдм рдореЗрдВ рд▓реЙрдЧ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдкрд╣реБрдБрдЪ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд▓рд┐рдП POST рдЕрдиреБрд░реЛрдз рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реВрдЪрдХрд╛рдВрдХ рдХреНрд░рд┐рдпрд╛ рддреАрди рд╡реИрд░рд┐рдПрдмрд▓ рдХреЛ рдорд╛рди рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ рдЬреЛ рдкрд╣рд▓реЗ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рд╡реИрд╢реНрд╡рд┐рдХ $_POST



рд╕рд░рдгреА рдХреЗ рд▓рд┐рдП рд╕реБрд▓рдн рдирд╣реАрдВ рд╣реИрдВред рдЬрдм рджреВрд╕рд░рд╛ рдЕрдиреБрд░реЛрдз рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ $_POST



рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЪрд░ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рд╣рдордиреЗ рдЗрд╕реЗ рдЙрдкрд▓рдмреНрдз рдХрд░рд╛рдпрд╛ рд╣реИред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдЗрдВрдбреЗрдХреНрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ рдореЗрдВ $log->execute()



рдкреВрд░рд╛ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, $_POST



рдХрд╛ рдбреЗрдЯрд╛ рдЧрд╛рдпрдм рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рдЕрдиреНрдп рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рдореЗрдВ, рдЗрд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХрд░реНрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдирдИ рдХреНрд╡реЗрд░реА рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдЧрд╛рдЬрд╝реЛрд▓рд╛рдЗрдореЗрдВрдЯ, рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧрд┐рдВрдЧ рд╕реЗрд╡рд╛



рдХрд╛рд▓реНрдкрдирд┐рдХ рд▓рдШреБ рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ (рд╕реНрдерд┐рддрд┐) рдЬрд┐рд╕реЗ рдЧрд╛рдЬрд╝реЛрдЗрд▓реЗрдореЗрдВрдЯ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдЯреНрд╡рд┐рдЯрд░ рдХрд╛ рдПрдХ рдПрдирд╛рд▓реЙрдЧ рд╣реИ, рдПрдЪрдПрдорд╡реАрд╕реА рдХреА рд╢рдХреНрддрд┐ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдорджрдж рдХрд░реЗрдЧрд╛ред рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдпрд╣ рдПрдХ рд╕рд░реНрд╡рд┐рд╕ рдУрд░рд┐рдПрдВрдЯреЗрдб рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ (SOA) рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рддрд╛рдХрд┐ рд╡реЗрдм рдЗрдВрдЯрд░рдлреЗрд╕ рдФрд░ рдореИрд╕реЗрдЬрд┐рдВрдЧ рдФрд░ рд░рд┐рд▓реЗрд╢рдирд╢рд┐рдк рдХрдВрдкреЛрдиреЗрдВрдЯреНрд╕ рдХреЛ рдЕрд▓рдЧ рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рдПред



рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╛рддрд╛рдпрд╛рдд рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдЫреЛрдЯрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рд╕реЗрд╡рд╛ рдирдИ рд╣реИ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреЛ рдЕрднреА рднреА рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдкрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдХреБрдЫ рднреА рдмреБрд░рд╛ рдирд╣реАрдВ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЕрдм рдХреЗ рд▓рд┐рдП рд╕рднреА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓реЙрдЬрд┐рдХ рдХреЛ рдПрдХ рд╕рд░реНрд╡рд░ рдкрд░ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╣реЛрдо рдкреЗрдЬ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рдпрдВрддреНрд░рдХ рд▓рд┐рдЦреЗрдВред рдЗрд╕рдХреА рдирд╡реАрдирддрдо рд╕реНрдерд┐рддрд┐рдпрд╛рдВ рдФрд░ рд▓реЛрдЧреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рд╣реЛрдЧреА рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдиреЗ рдЕрдиреБрд╕рд░рдг рдХрд┐рдпрд╛ рд╣реИред



рдЗрдВрдбреЗрдХреНрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ - /application/controllers/index.php

 <?php //    http://gazouillement.com/samsoir/ class Controller_Index extends Controller { public function action_index() { //   (samsoir)   $user = new Model_User($this->request->param('user')); //    ,   404 if ( ! $user->loaded) throw new Controller_Exception_404('Unable to load user :user', array(':user' => $this->request->param('user'))); //      xhtml $messages = Request::factory('messages/find/'.$user->name.'.xhtml') ->execute() ->response; //      xhtml $relations = Request::factory($user->name.'/following.xhtml') ->execute() ->response; //        //     ,    $this->request->response = View::factory('user/home', array( 'user' => $user, 'messages' => $messages, 'relations' => $relations, )); } }
      
      





рдЕрдм рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ Controller_Index::action_index()



рдХреНрдпрд╛ рдХрд░рддрд╛ рд╣реИред рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдХрд╛рд░реНрд░рд╡рд╛рдИ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ URL рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░рддреА рд╣реИред рдпрджрд┐ рдпрд╣ рд╕рдлрд▓ рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдкреГрд╖реНрда 404 рдкреНрд░рджрд░реНрд╢рд┐рдд рд╣реЛрддрд╛ рд╣реИред рдлрд┐рд░, xHTML рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдирдпрд╛ рдЕрдиреБрд░реЛрдз рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрд░реЛрдз URI рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧ рдХреА рд╕рдВрдкрддреНрддрд┐ рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рдЗрд╕реА рддрд░рд╣ рдФрд░ рдЙрд╕реА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдмрдВрдзреЛрдВ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдирддреАрдЬрддрди, рджреГрд╢реНрдп рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдЙрджреНрджреЗрд╢реНрдп рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рд╛рде рдмрдирд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЙрд╕рдХреЗ рд╕рдВрджреЗрд╢ рдФрд░ рдЙрд╕рд╕реЗ рдЬреБрдбрд╝реЗ рд╕рдВрдмрдВрдзред



рдПрдХ рдирдП рдЕрдиреБрд░реЛрдз рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореМрдЬреВрджрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдФрд░ рд╕рдВрдмрдВрдзреЛрдВ рдХреЛ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рдкреНрд░рддреНрдпреЗрдХ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рд╕рдВрдкреВрд░реНрдг рдПрдкреНрд▓рд┐рдХреЗрд╢рди рддрд░реНрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рд╕реЗ рдЕрд▓рдЧ рд░рд╣рддрд╛ рд╣реИред рдпрд╣ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рджреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд▓рд╛рдн рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ:

  1. рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рддрд░реНрдХ рдХреЗ рдХрд┐рд╕реА рднреА рд╣рд┐рд╕реНрд╕реЗ рд╕реЗ рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдХреЗрд╡рд▓ рдЖрд╡рд╢реНрдпрдХрддрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдкрд░рд┐рдгрд╛рдо xhtml рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рд░рди рдЯрд╛рдЗрдо рдореЗрдВ, рдХреЛрдИ рдЕрддрд┐рд░рд┐рдХреНрдд рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдпрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
  2. рдкреНрд░рддреНрдпреЗрдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдХрд╛рд░реНрдп рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдЙрдирдХреЗ рд▓рд┐рдП рдЗрдХрд╛рдИ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рд▓реЗрдЦрди рдХреЛ рдХрд╛рдлреА рд╕рд░рд▓ рдХрд░рддрд╛ рд╣реИред


рдЕрдореВрд░реНрдд рдХреЗ рд╕реНрддрд░ рдХреЗ рдХрд╛рд░рдг рд╕рд┐рд░реНрдл рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рджреЗрдЦрдирд╛ рдЕрд╕рдВрднрд╡ рд╣реИ рдХрд┐ рд╕реЗрд╡рд╛рдПрдВ рдХреНрдпрд╛ рдХрд░ рд░рд╣реА рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдзреНрдпрд╛рди рджреЗрдВред рдЖрдЗрдП рдмреВрдЯ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдорд╛рд░реНрдЧ рд╕реЗ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЬреЛ рд╕рдВрджреЗрд╢ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЖрдВрддрд░рд┐рдХ рдкреНрд░рдмрдВрдзрди рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реЛрдЧрд╛ред рдХреЛрд╣рдирд╛ рдореЗрдВ рд░реВрдЯ рдХреНрд▓рд╛рд╕ рдХрдВрдЯреНрд░реЛрд▓рд░, рдПрдХреНрд╢рди рдФрд░ рдкреИрд░рд╛рдореАрдЯрд░реНрд╕ рдХреЗ рд╕рд╛рде рдпреВрдЖрд░рдЖрдИ рдПрд▓рд┐рдореЗрдВрдЯреНрд╕ рдХреЛ рдЬреЛрдбрд╝рдХрд░ рдЗрдВрдЯрд░рдирд▓ URLs рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рддрд╛ рд╣реИред



рд░реВрдЯ рд╕реЗрдЯрдЕрдк - /application/bootstrap.php

 Route::set('messages', 'messages/<action>/<user>(<format>)', array('format' => '\.\w+')) ->defaults(array( 'format' => '.json', 'controller' => 'messages', ));
      
      





рдпрд╣ рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рд░реНрдЧ рдмрдирд╛рддрд╛ рд╣реИ, рдЬреЛ рдЕрдм рддрдХ рдореБрдЦреНрдп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдбреЛрдореЗрди рдХреЗ рдЕрдВрджрд░ рд╣реИред рдкрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ / рдЦреЛрдЬ / samsoir.xhtml рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдПрдХ рдЕрдиреБрд░реЛрдз рд╕рдВрджреЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ find()



рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдкреИрд░рд╛рдореАрдЯрд░ 'user' => 'samsoir'



рдФрд░ 'format => '.json'



рдХреЗ рд░реВрдк рдореЗрдВ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рд╕рдВрджреЗрд╢ рдирд┐рдпрдВрддреНрд░рдХ - /application/controllers/messages.php

 <?php class Controller_Messages extends Controller { //  ,    protected $supported_formats = array( '.xhtml', '.json', '.xml', '.rss', ); //      protected $user; //      //       public function before() { //        if ( ! in_array($this->request->param('format'), $this->supported_formats)) throw new Controller_Exception_404('File not found'); //     $this->user = new Model_User($this->request->param('user')); if ( ! $this->user->loaded()) throw new Controller_Exception_404('File not found'); return parent::before(); } //      public function find() { //         1:M $messages = $this->user->messages; //    ,   prepare    $this->request->response = $this->_prepare_response($messages); } //      protected function _prepare_response(Model_Iterator $messages) { //  ,      switch ($this->request->param('format') { case '.json' : { $this->request->headers['Content-Type'] = 'application/json'; $messages = $messages->as_array(); return json_encode($messages); } case '.xhtml' : { return View::factory('messages/xhtml', $messages); } default : { throw new Controller_Exception_404('File not found!'); } } } }
      
      





рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдирд┐рдпрдВрддреНрд░рдХ Controller_Messages



рдореЗрдВ рджрд┐рдЦрд╛рдИ рдЬрд╛рддреА рд╣реИред рд╕рднреА рддрд░реАрдХреЗ рдФрд░ рдЧреБрдг рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рдмрд╛рдзреНрдп рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрдмрдВрдз рднреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдЖрдЗрдП рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдХреЛрдб рдХреЛ рджреЗрдЦреЗрдВ рдХрд┐ рдХреНрдпрд╛ рд╣реЛ рд░рд╣рд╛ рд╣реИред



рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдиреЗ before()



рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рд╣рдореЗрд╢рд╛ before()



рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ рдореБрдЦреНрдп рдХрд╛рд░реНрдп рд╕реЗ рдкрд╣рд▓реЗ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдпрдорд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред before()



рд╡рд┐рдзрд┐ рдкрд╣рд▓реЗ рд╕рдорд░реНрдерди рдХреЗ рд▓рд┐рдП рдЕрдиреБрд░реЛрдзрд┐рдд рдкреНрд░рд╛рд░реВрдк рдХреА рдЬрд╛рдВрдЪ рдХрд░рддреА рд╣реИ, рдФрд░ рдлрд┐рд░ рд╢реБрджреНрдзрддрд╛ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдоред рдпрджрд┐ рдЕрдкрд╡рд╛рджреЛрдВ рдХреЛ рдлреЗрдВрдХрдиреЗ before()



рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ find()



рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдХреЙрд▓ рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╕рдВрджреЗрд╢реЛрдВ рдХреЛ рдПрдХ Model_Iterator рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рд╕рдВрдмрдВрдз рдореЗрдВ рдХреЛрдИ рд╕рдВрджреЗрд╢ рдирд╣реАрдВ рдорд┐рд▓рдиреЗ рдкрд░ рдЗрдЯреНрд░реЗрдЯрд░ рдЦрд╛рд▓реА рд╣реЛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рд╕рдВрджреЗрд╢ _prepare_response()



рдХреЛ _prepare_response()



рд╡рд┐рдзрд┐ рд╕реЗ рдкрд╛рд╕ рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЖрдЙрдЯрдкреБрдЯ рдХреЗ рдбреЗрдЯрд╛ рдХреЛ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдкреНрд░рд╛рд░реВрдкрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рд╣реЗрдбрд░ рд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред



рдХрдВрдЯреНрд░реЛрд▓рд░ Controller_Index



рдФрд░ Controller_Messages



рджреЛрдиреЛрдВ рдХреЛ рдПрдХ рд╣реА рдЖрд╡реЗрджрди рдЕрдиреБрд░реЛрдз рджреНрд╡рд╛рд░рд╛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдлрд┐рд░ рднреА, рд╡реЗ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдереЗред рдкреНрд░рддреНрдпреЗрдХ рдбреЗрд╡рд▓рдкрд░ рд╡рд░реНрддрдорд╛рди рдХреЛрдб рдЖрдзрд╛рд░ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд╕рдордЭрдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдФрд░ рдХрд╣рд╛рдБ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред рдпрд╣ HMVC рдХреА рдПрдХ рдФрд░ рдмрдбрд╝реА рд╡рд┐рд╢реЗрд╖рддрд╛ рд╣реИ - рд░рдЦрд░рдЦрд╛рд╡ рдореЗрдВ рдЖрд╕рд╛рдиреАред



рд╢реЗрд╖ рд╕реЗрд╡рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдкрд░ рдХрд╛рдо рдЦрддреНрдо рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдкрдиреА рдХреЗ рдЕрдзрд┐рдХрд╛рд░рд┐рдпреЛрдВ рдиреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдкрд╣рд▓реЗ рдЪрд░рдг рдХреЗ рд╕рд╛рде рд╕рдВрддреБрд╖реНрдЯрд┐ рд╡реНрдпрдХреНрдд рдХреА рдФрд░ рдмреАрдЯрд╛ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рдЦреБрд▓реЗ рд╕рд░реНрд╡рд░ рдкрд░ рддреИрдирд╛рддреА рдХреА рдЕрдиреБрдорддрд┐ рджреАред рдХреБрдЫ рд╣рдлрд╝реНрддреЗ рдХреЗ рдмрд╛рдж, рдЖрд╡реЗрджрди рдмрдбрд╝реЗ рдкреИрдорд╛рдиреЗ рдкрд░ рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рддреИрдпрд╛рд░ рд╣реИред рдЕрдЧрд▓реЗ рдорд╣реАрдиреЛрдВ рдореЗрдВ, рджрд░реНрд╢рдХ рд▓рдЧрд╛рддрд╛рд░ рдмрдврд╝реЗрдВрдЧреЗ, рдФрд░ рд╕рд╛рдЗрдЯ рдХреА рдкреВрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ рд╕реБрдзрд╛рд░ рдФрд░ рдЕрдиреБрдХреВрд▓рди рд╣реЛрдЧрд╛ред



рд╕реНрдЯреАрдлрди рдлреНрд░рд╛рдИ рдкреНрд░рднрд╛рд╡



рд╕реНрдЯреАрдлрди рдлреНрд░рд╛рдИ ( @stephenfry ) рд╕рдмрд╕реЗ рдкреНрд░рд╕рд┐рджреНрдз рдЯреНрд╡рд┐рдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬрд┐рд╕рдХреЗ 2 рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдЕрдиреБрдпрд╛рдпреА рд╣реИрдВред рд╡рд╣ рдЕрдкрдиреЗ рдорд╛рдЗрдХреНрд░реЛрдмреНрд▓реЙрдЧ рдореЗрдВ URL рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдХреЗ рд╕рд╛рдЗрдЯреЛрдВ рдХреЛ рдирд┐рд╖реНрдХреНрд░рд┐рдп рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рд░реНрд╡рд░ рдкрд░ DDOS рд╣рдорд▓рд╛ рд╣реЛрддрд╛ рд╣реИред



рдкрд┐рдЫрд▓реЗ рдХреБрдЫ рдорд╣реАрдиреЛрдВ рд╕реЗ Gazouillement рд╕рдХреНрд░рд┐рдп рд░реВрдк рд╕реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рднрд░реНрддреА рдХрд░ рд░рд╣рд╛ рд╣реИред рдЗрд╕рдХреЗ рдХрд╛рд░рдг рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдордп рдореЗрдВ рд╡реГрджреНрдзрд┐ рд╣реБрдИ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрднреА рднреА рд╕реНрд╡реАрдХрд╛рд░реНрдп рд╕реАрдорд╛ рдХреЗ рднреАрддрд░ рд╣реИред рдЕрдЪрд╛рдирдХ, рд╕реНрдЯреАрдлрди рдлреНрд░рд╛рдИ рдЬреИрд╕реЗ рдмрдбрд╝реА рд╕рдВрдЦреНрдпрд╛ рдореЗрдВ рдЕрдиреБрдпрд╛рдпрд┐рдпреЛрдВ рд╡рд╛рд▓рд╛ рдПрдХ рдЯреНрд╡рд┐рдЯрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЧрдЬрд╝рд╛рдЙрд▓реАрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рд┐рдВрдХ рдкреЛрд╕реНрдЯ рдХрд░ рд░рд╣рд╛ рд╣реИ ред рдФрд░ рдлрд┐рд░ рд╕реЗрд╡рд╛ рдореЗрдВ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдиреЗ рд▓рдЧрддреА рд╣реИрдВред



рдкрд╣рд▓реЗ рдмрдбрд╝реА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдпрд╛рддрд╛рдпрд╛рдд рд╣реЛрдЧрд╛ред рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдИ рд╕реМ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдмрдЬрд╛рдп, рдЖрд╡реЗрджрди рдХреЛ рд╣рдЬрд╛рд░реЛрдВ рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд░рдиреА рд╣реЛрдЧреАред рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, Gazouillement рд╕рд░реНрд╡рд░ рдкрд░ рднреАрдбрд╝ рдФрд░ рд╕рдВрднрд╡рддрдГ "рдкреБрдЯ" рдХрд╛ рдЕрдиреБрднрд╡ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рджреЗрдЧрд╛ред рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдХрд┐ рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдмрдврд╝рддреЗ рдЯреНрд░реИрдлрд╝рд┐рдХ рд╕реЗ рдирд┐рдкрдЯрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреБрдЫ рдЕрдиреБрдХреВрд▓рди рдФрд░ рд╕реБрдзрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рдкреНрд░рджрд░реНрд╢рди рдХреЛ рдмреЗрд╣рддрд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдирд╛ рдЖрд╕рд╛рди рдХрд╛рдо рдирд╣реАрдВ рд╣реИред рдкрд┐рдЫрд▓реЗ TechPortal рд▓реЗрдЦреЛрдВ рдиреЗ XHProf рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЛ рджреЗрдЦрд╛ , рдЬреЛ рд░рдирдЯрд╛рдЗрдо рдХреЗ рджреМрд░рд╛рди рдореЗрдореЛрд░реА рдФрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЧрд╣рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рдереЗред рдХреЛрд╣рдирд╛ рдкреАрдПрдЪрдкреА рдореЗрдВ рдПрдХ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдХрд░реНрдиреЗрд▓ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ рдЬрд┐рд╕реЗ рдкреНрд░реЛрдЗрд▓рд░ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдкреВрд░рдХ рд╣реИ, XHProf рдФрд░ рд╕рдорд╛рди рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрди рдирд╣реАрдВ рд╣реИ ред рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдХреЛрдб рдореЗрдВ рдзреАрдореА рдЬрдЧрд╣реЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕реЗ рдлрд┐рд░ XHProf рдпрд╛ рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдПрдХ рдЕрдиреНрдп рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЬрд╛рдВрдЪ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИ - рдХреЛрдбрдмреЗрдВрдЪ ред



рдЖрдк рдмреВрдЯрд▓реЛрдбрд░ рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдкреИрд░рд╛рдореАрдЯрд░ рдмрджрд▓рдХрд░ Profiler рдХреЛ рд╕рдХреНрд╖рдо рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рд▓реЛрдбрд░ - /application/bootstrap.php

 //-- Environment setup -------------------------------------------------------- Kohana::$profiling = TRUE;
      
      





рдЕрдВрдд рдореЗрдВ, рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЗ рдЕрдВрдд рдореЗрдВ рдПрдХ Profiler рджреГрд╢реНрдп рдЬреЛрдбрд╝реЗрдВред рдпрд╣ after()



рд╡рд┐рдзрд┐ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдлрд┐рд░ рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЛ рджрд┐рдЦрд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдЗрдВрдбреЗрдХреНрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ - /application/controllers/index.php

 public function after() { //       $this->request->response .= View::factory('profiler/stats'); }
      
      





рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕рдХреА рдЬрд╛рдирдХрд╛рд░реА рдЗрд╕ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдкреНрд░рддреНрдпреЗрдХ рдХреНрд░рд┐рдпрд╛ рдХреЗ рдирд┐рдЪрд▓реЗ рднрд╛рдЧ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд▓рдЧрддреА рд╣реИред рдПрдХ рд╡рд░реНрдЧ рдмрдирд╛рдирд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ рдЬреЛ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИ рдФрд░ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ after()



рд╡рд┐рдзрд┐ рдореЗрдВ рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рджреГрд╢реНрдп рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░реЗрдВред рдЕрдм рд╕рднреА рд╕рд┐рд╕реНрдЯрдо рдХрдВрдЯреНрд░реЛрд▓рд░ рд╡рд┐рдХрд╛рд╕ рдХреЗ рджреМрд░рд╛рди рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рдбрд┐рдмрдЧрд┐рдВрдЧ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддреЗ рд╣реИрдВред







рдкреНрд░реЛрдлрд╛рдЗрд▓рд░ рд░реВрдкрд░реЗрдЦрд╛ рдХреЗ рдХрд╛рдо рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдХрд░рддрд╛ рд╣реИ, рд╡рд┐рднрд┐рдиреНрди рд╕рдВрджрд░реНрднреЛрдВ рдХреЛ рдПрдХ рд╕рд╛рде рд╕рдореВрд╣рд┐рдд рдХрд░рддрд╛ рд╣реИ (рдЖрд░рдВрднреАрдХрд░рдг, рдкреНрд░рд╢реНрди, рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ, рдЖрджрд┐) рдФрд░ рдЗрд╕реА рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдФрд░ рдЖрд╡рдВрдЯрд┐рдд рд╕реНрдореГрддрд┐ рдХреА рдорд╛рддреНрд░рд╛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рдмрдирд╛рдП рдЧрдП рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рдордиреЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрди рд▓реЛрдЧреЛрдВ рдХреА рдЧрдгрдирд╛ рдХрд░рдирд╛ рдмрд╣реБрдд рдЖрд╕рд╛рди рд╣реИ рдЬреЛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕рдордп рд▓реЗрддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдРрд╕рд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХреЗ рд▓рд┐рдП XHProf рдЬреИрд╕реА рдЙрдкрдпреЛрдЧрд┐рддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред



рдЧрдЬреМрд▓рд┐рдореЗрдВрдЯ рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдирд╛



рдЧрд╛рдЬрд╝реМрд▓реАрдореЗрдВрдЯ рдХреЗ рд╡реИрд╢реНрд╡рд┐рдХ рдкреНрд░рджрд░реНрд╢рди рд╡рд┐рд╢реНрд▓реЗрд╖рдг рд╕реЗ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рд╕рдВрджреЗрд╢ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдмрд╣реБрдд рдореБрд╢реНрдХрд┐рд▓ рд╣реИред рдпрджреНрдпрдкрд┐ рд╡рд┐рдХрд╛рд╕ рдЯреАрдо рдиреЗ MVC рдЯреНрд░рд╛рдпрдб рдХреЛ рдлрд┐рд░ рд╕реЗ рдмрдирд╛рдпрд╛ рдФрд░ рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рд╡рд╛рдВрдЫрд┐рдд рдкреНрд░рджрд░реНрд╢рди рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдХрднреА рдкреНрд░рд╛рдкреНрдд рдирд╣реАрдВ рд╣реБрдПред рд╕рд░реНрд╡рд░ рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдореЗрдореЛрд░реА рдХреЗ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЙрддреНрдкрд╛рджрдХ рд╕реБрдзрд╛рд░ рдирд╣реАрдВ рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдХрдВрдкрдиреА рдХреЗ рдЕрдзрд┐рдХрд╛рд░реА рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд╕рд╛рде рд╢реБрд░реВ рдХрд░рддреЗ рд╣реБрдП, рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╕реНрдХреЗрд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рд╣рдордд рд╣реЛрддреЗ рд╣реИрдВред



рдПрдорд╡реАрд╕реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рд╕рд╛рде, рдПрдХ рдирдИ рд╕реЗрд╡рд╛ рдХреЛ рдЖрдорддреМрд░ рдкрд░ рдбрд┐рдЬрд╛рдЗрди, рд╡рд┐рдХрд╛рд╕, рд╕реНрд╡реАрдХреГрддрд┐ рдкрд░реАрдХреНрд╖рдг рдФрд░ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рдЪрд░рдгреЛрдВ рд╕реЗ рдЧреБрдЬрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИред рдЗрд╕ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдореЗрдВ рдорд╣реАрдиреЛрдВ рд▓рдЧ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдирд┐рд╡реЗрд╢ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рд▓реЗрдХрд┐рди рдЧрдЬрд╝рд╛рдЙрд▓реАрдореЗрдВрдЯ рдореЗрдВ , рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕реЙрдлреНрдЯрд╡реЗрдпрд░ рдХрд╛ рдПрдХ рдирдпрд╛ рдЯреБрдХрдбрд╝рд╛ рдПрдХреАрдХреГрдд рд╣реЛрдЧрд╛, рди рдХрд┐ рдПрдХ рдирдпрд╛ рдХрд╛рд░реНрдпрдХреНрд░рдоред



HMVC рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ, рдореМрдЬреВрджрд╛ рдХреЛрдб рдЖрдзрд╛рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдирдИ рд╕реЗрд╡рд╛рдПрдВ рдХрдо рд╕реЗ рдХрдо рд╕рдордп рдореЗрдВ рдмрдирд╛рдИ рдЬрд╛ рд╕рдХрддреА рд╣реИрдВред рдЪреВрдВрдХрд┐ рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХреЗ рд╕рд╛рде рд╕рднреА рдмрд╛рддрдЪреАрдд рдореБрдЦреНрдп рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХреА рдЧрдИ рдереА, рдЗрд╕рд▓рд┐рдП рдХреЗрд╡рд▓ рд╕рдВрджреЗрд╢ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рд╕рд░реНрд╡рд░ рдкрд░ рд▓реЗ рдЬрд╛рдпрд╛ рдЧрдпрд╛ рдФрд░ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдпрд╣ рдирдпрд╛ рд╕рд░реНрд╡рд░ рдХреЗрд╡рд▓ рдореИрд╕реЗрдЬрд┐рдВрдЧ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдРрд╕реЗ рд╕рднреА рдСрдкрд░реЗрд╢рдиреЛрдВ рдХреА рдЧрддрд┐ рдХреЛ рдХрд╛рдлреА рдмрдврд╝рд╛рддрд╛ рд╣реИред



рдЗрдВрдбреЗрдХреНрд╕ рдХрдВрдЯреНрд░реЛрд▓рд░ - /application/controllers/index.php

 <?php //    http://gazouillement.com/samsoir/ class Controller_Index extends Controller { protected $_messages_uri = 'http://messages.gazouillement.com'; public function action_index() { //   (samsoir)   $user = new Model_User($this->request->param('user')); //    ,   404 if ( ! $user->loaded) throw new Controller_Exception_404('Unable to load user :user', array(':user' => $this->request->param('user'))); // --    -- //  URI     $messages_uri = $this->_messages_uri.'/find/'.$user->name'.xhtml'; //       xhtml $messages = Request::factory($messages_uri) ->execute() ->response; // --    -- //      xhtml $relations = Request::factory($user->name.'/following.xhtml') ->execute() ->response; //        //     ,    $this->request->response = View::factory('user/home', array( 'user' => $user, 'messages' => $messages, 'relations' => $relations, )); } }
      
      





рдХреЛрдб рдирд┐рдпрдВрддреНрд░рдХ Controller_Index::action_index()



рдореЗрдВ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рдмрджрд▓рд╛рд╡ рдкрд░ рдкреНрд░рдХрд╛рд╢ рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИ Controller_Index::action_index()



ред рд╕рдВрджреЗрд╢ рдЕрдиреБрд░реЛрдз рдЕрдм рдЖрдВрддрд░рд┐рдХ рдирд┐рдпрдВрддреНрд░рдХ рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ, рдмрд▓реНрдХрд┐ рд╕рдВрджреЗрд╢ рд╕реЗрд╡рд╛ рдкрд░ рдЬрд╛рддрд╛ рд╣реИ рдЬреЛ рд╕рдВрджреЗрд╢ рдкрд░ рдЪрд▓рддрд╛ рд╣реИред gazouillement.com рдЙрдкрдбреЛрдореЗрдиред рдЖрдо рддреМрд░ рдкрд░ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреА рдкреВрд░реА рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреА рд╕рдореАрдХреНрд╖рд╛ рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╣реЛрдЧрд╛, рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЬреЛрдбрд╝ рдмрди рдЧрдпрд╛ред рдФрд░ рдЪреВрдВрдХрд┐ рдмрд╣реБрдд рдХрдо рдХреЛрдб рдмрджрд▓ рдЧрдпрд╛ рд╣реИ, рд╕рд╛рд╣рдЪрд░реНрдп рдФрд░ рд╕реНрд╡реАрдХреГрддрд┐ рдкрд░реАрдХреНрд╖рдг рдмрд╣реБрдд рдХрдо рд╣реЛрдЧрд╛ред



рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдХрд┐ рдХреИрд╕реЗ рдкрджрд╛рдиреБрдХреНрд░рдорд┐рдд-рдореЙрдбрд▓-рд╡реНрдпреВ-рдирд┐рдпрдВрддреНрд░рдХ рдкреИрдЯрд░реНрди рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ рдЬреЛ рдмрд╣реБрдд рд╢реБрд░реБрдЖрдд рд╕реЗ рд▓рдВрдмрд╡рдд рдФрд░ рдХреНрд╖реИрддрд┐рдЬ рд░реВрдк рд╕реЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рдЕрдиреБрд░реЛрдз рдСрдмреНрдЬреЗрдХреНрдЯ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдПрдХ рд╕рд░рд▓ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рддреНрдпреЗрдХ рд╕рдВрджрд░реНрдн рдХреЗ рд▓рд┐рдП рд╕рд╣реА рдбреЗрдЯрд╛ рд╡рд╛рдкрд╕ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╣рдордиреЗ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ рд╡рд╣ рд╕рд░реНрд╡рд░ рдХреЗ рдмрд╛рд╣рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд╣рд┐рд╕реНрд╕реЗ рдХреЛ рд╣рдЯрд╛рдиреЗ рдХрд╛ рдХрд╛рдо рдмрд╣реБрдд рдЖрд╕рд╛рди рдХрд░ рджреЗрддрд╛ рд╣реИред рдФрд░ рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдХрд╛рд░рдг рд╕реНрдХреЗрд▓рд┐рдВрдЧ рдХреА рд▓рд╛рдЧрдд рдЕрдкреЗрдХреНрд╖рд╛рдХреГрдд рдХрдо рдереА, рдЬрд┐рд╕реЗ рдХрдВрдкрдиреА рдХреЗ рдЕрдзрд┐рдХрд╛рд░реА рдмрд╣реБрдд рдкреНрд░рд╕рдиреНрди рдереЗред



рдЖрдк Kohana рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдФрд░ рдЬрд╛рдирдХрд╛рд░реА рдлреНрд░реЗрдорд╡рд░реНрдХ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ Kohana PHP 3 рдлрд╛рдЗрд▓ рдХреЛ Github рд╕реЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЕрднреА рднреА рдПрдкреАрдЖрдИ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╣реИ: http://v3.kohanaphp.com/guide ред



рдЗрд╕ рдЙрджрд╛рд╣рд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдХреНрд╡реЗрд░реА рдХреНрд▓рд╛рд╕ рд╡рд░реНрддрдорд╛рди рдореЗрдВ рдореЗрд░реЗ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдЧрд┐рддреБрдм рдЦрд╛рддреЗ - http://github.com/samsoir/core рдкрд░ рдХреЛрд╣рдирд╛ рдХрд░реНрдиреЗрд▓ рд╡рд┐рдХрд╛рд╕ рд╢рд╛рдЦрд╛ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИред рдпрджрд┐ рдЖрдк рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдХреЛрд╣рд╛рдирд╛ PHP 3.0 рд╡рд┐рддрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╢реЛрдзрд┐рдд рд╡рд░реНрдЧ рд╡рд┐рд╕реНрддрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред



All Articles