Zend рдлреНрд░реЗрдорд╡рд░реНрдХ 2 рдореЗрдВ MVC рд╕рд┐рд╕реНрдЯрдо

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

Zend рдлреНрд░реЗрдорд╡рд░реНрдХ 2 рдореЗрдВ MVC



Zend \ Mvc, Zend рдлреНрд░реЗрдорд╡рд░реНрдХ 2 рдХреЗ рд▓рд┐рдП MVC рд╕рд┐рд╕реНрдЯрдо рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдирдпрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╣реИред рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд▓рдЪреАрд▓реЗрдкрди рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

MVC рдкрд░рдд рдХреЛ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдШрдЯрдХреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ:

  1. Zend \ ServiceManager - Zend рдлреНрд░реЗрдорд╡рд░реНрдХ Zend \ Mvc \ Service рдореЗрдВ рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рднрд┐рдиреНрди рд╕реЗрд╡рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред ServiceManager рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдФрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рддрд╛ рдФрд░ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рддрд╛ рд╣реИред
  2. Zend \ EventManager - MVC рдПрдХ рдШрдЯрдирд╛ рд╣реИред рдЗрд╕ рдШрдЯрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╣рд░ рдЬрдЧрд╣ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЖрд╡реЗрджрди рдХреА рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП, рд░рд┐рдЯрд░реНрдирд┐рдВрдЧ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдПрдВ (рдЕрдиреБрд░реЛрдз) рдФрд░ рдЕрдиреБрд░реЛрдз (рдЕрдиреБрд░реЛрдз), рдорд╛рд░реНрдЧ (рдорд╛рд░реНрдЧ) рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд╕рд╛рде-рд╕рд╛рде рдлреЙрд░реНрдо (рджреГрд╢реНрдп) рдХреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ (рд░реЗрдВрдбрд░) рдХреЗ рд▓рд┐рдПред
  3. Zend \ Http рдЕрдиреБрд░реЛрдзреЛрдВ (рдЕрдиреБрд░реЛрдз) рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛рдУрдВ (рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛) рдХрд╛ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдЙрджреНрджреЗрд╢реНрдп рд╣реИред Zend \ Stdlib \ DispatchableInterface рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕рднреА рдирд┐рдпрдВрддреНрд░рдХ рдкреНрд░реЗрд╖рдг рдСрдмреНрдЬреЗрдХреНрдЯ рд╣реИрдВред

рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рд╣рд╛рдпрдХ рдШрдЯрдХ MVC рдкрд░рдд рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ:

  1. Zend \ Mvc \ Router - рдЗрд╕рдореЗрдВ рд╡реЗ рдХрдХреНрд╖рд╛рдПрдВ рд╣реЛрддреА рд╣реИрдВ рдЬреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХрд╛ рдорд╛рд░реНрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рд╕рд╣реА рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
  2. Zend \ Http \ PhpEnvironment - HTTP рдЕрдиреБрд░реЛрдз рдФрд░ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХреЗ рд▓рд┐рдП рдбреЗрдХреЛрд░реЗрдЯрд░ рдХрд╛ рдПрдХ рд╕реЗрдЯ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рд╡рд╛рддрд╛рд╡рд░рдг (GET рдФрд░ POST рдкреИрд░рд╛рдореАрдЯрд░, HTTP рд╣реЗрдбрд░ рд╕рд╣рд┐рдд) рдореЗрдВ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдЗрдВрдЬреЗрдХреНрд╢рди рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
  3. Zend \ Mvc \ рдирд┐рдпрдВрддреНрд░рдХ - рдореВрд▓ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдЕрдореВрд░реНрдд рдирд┐рдпрдВрддреНрд░рдХ рд╡рд░реНрдЧреЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ, рдЬреИрд╕реЗ рдХрд┐ рдШрдЯрдирд╛рдУрдВ рдХреЛ рдмрдирд╛рдирд╛, рдкреНрд░реЗрд╖рдг рдХреНрд░рд┐рдпрд╛, рдЖрджрд┐ред
  4. Zend \ Mvc \ Service - рд╡рд┐рднрд┐рдиреНрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдбрд┐рдлрд╝реЙрд▓реНрдЯ ServiceManager рдХрд╛рд░рдЦрд╛рдиреЛрдВ рдФрд░ рдкрд░рд┐рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯред
  5. Zend \ Mvc \ View - рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯреНрд╕ рдХреЛ рд╡рд┐рдЬрд╝реБрдЕрд▓рд╛рдЗрдЬрд╝ рдХрд░рдиреЗ, рд╣реЗрд▓реНрдкрд░реНрд╕ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдиреЗ, рдФрд░ рдмрд╣реБрдд рдХреБрдЫ рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред рдпрд╣ рд╡рд┐рднрд┐рдиреНрди рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рднреА рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рдЬреЛ рдПрдорд╡реАрд╕реА рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдХреЛ "рдмрд╛рдЗрдВрдб" рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдореЗрдВ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдирд╛рдо рдХреЗ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди, рдСрдЯреЛрдореИрдЯрд┐рдХ рдХреНрд░рд┐рдПрд╢рди рдСрдлрд╝ рд╡реНрдпреВ рдФрд░ рдЗрдВрдЬреЗрдХреНрд╢рди рдореЙрдбрд▓, рдЖрджрд┐ рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред


MVC рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдмрд┐рдВрджреБ Zend \ Mvc \ Application рдСрдмреНрдЬреЗрдХреНрдЯ (рдЗрд╕рдХреЗ рдмрд╛рдж рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд) рд╣реИред рдЬрд┐рдирдореЗрдВ рд╕реЗ рдореБрдЦреНрдп рдЬрд┐рдореНрдореЗрджрд╛рд░рд┐рдпрд╛рдВ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рд▓реЛрдбрд┐рдВрдЧ, рдЕрдиреБрд░реЛрдзреЛрдВ рдХреА рджрд┐рд╢рд╛ (рдорд╛рд░реНрдЧ), рдорд╛рд░реНрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреА рдкреНрд░рд╛рдкреНрддрд┐ рдФрд░ рднреЗрдЬрдирд╛ рд╣реИред

рдЖрд╡реЗрджрди рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрд░рдЪрдирд╛

application_root/ config/ application.config.php autoload/ global.php local.php // etc. data/ module/ vendor/ public/ .htaccess index.php init_autoloader.php 


рд╕рд╛рдЗрдЯ рдкрд░ рд╕рднреА рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдлрд╝рд╛рдЗрд▓ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ / index.php рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИред рддрдм рдпрд╣ config / application.config.php рдореЗрдВ рд╕реНрдерд┐рдд рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреА рдПрдХ рд╕рд░рдгреА рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрд╛рдж рд░рди () рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдПрдкреНрд▓рд┐рдХреЗрд╢рди) рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдВрддрддрдГ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░рд┐рдгрд╛рдо рднреЗрдЬрддрд╛ рд╣реИред

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

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

рдореЙрдбреНрдпреВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдПрдХ рдпрд╛ рдПрдХ рд╕реЗ рдЕрдзрд┐рдХ рдореЙрдбреНрдпреВрд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдореБрдЦреНрдп рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред

рдореЙрдбреНрдпреВрд▓ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдВрд░рдЪрдирд╛


рдореЙрдбреНрдпреВрд▓ рдХреА рд╕рд╛рдордЧреНрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХреБрдЫ рднреА рд╣реЛ рд╕рдХрддреА рд╣реИ: PHP рдХреЛрдб, рдХрд╛рд░реНрдпрд╛рддреНрдордХ MVC рд╕рдВрд░рдЪрдирд╛рдПрдВ, рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреЛрдб, рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ, рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╕рд╛рдзрди, рдЬреИрд╕реЗ рдЪрд┐рддреНрд░, рдХреИрд╕реНрдХреЗрдбрд┐рдВрдЧ рд╕реАрдПрд╕рдПрд╕ рд╢реИрд▓реА рдкрддреНрд░рдХ, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛрдб, рдЖрджрд┐ред рдПрдХрдорд╛рддреНрд░ рдЖрд╡рд╢реНрдпрдХрддрд╛, рдФрд░ рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдпрд╣ рд╡реИрдХрд▓реНрдкрд┐рдХ рд╣реИ - рдореЙрдбреНрдпреВрд▓ рдПрдХ рдирд╛рдорд╕реНрдерд╛рди рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕ рдирд╛рдо рд╕реНрдерд╛рди рдХреЗ рднреАрддрд░ рдореЙрдбреНрдпреВрд▓ Modul.php рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред Zend \ ModuleManager рдХреЗ рд╕рд╛рдорд╛рдиреНрдп рд╕рдВрдЪрд╛рд▓рди рдФрд░ рдХрдИ рдЕрдиреНрдп рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╡рд░реНрдЧ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдореЙрдбреНрдпреВрд▓ рдмрдирд╛рддреЗ рд╕рдордп рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рдХрд╛ рдкрд╛рд▓рди рдХрд░рдиреЗ рдХреА рд╕рд┐рдлрд╛рд░рд┐рд╢ рдХреА рдЬрд╛рддреА рд╣реИ:

 module_root<named-after-module-namespace>/ Module.php autoload_classmap.php autoload_function.php autoload_register.php config/ module.config.php public/ images/ css/ js/ src/ <module_namespace>/ <code files> test/ phpunit.xml bootstrap.php <module_namespace>/ <test code files> view/ <dir-named-after-module-namespace>/ <dir-named-after-a-controller>/ <.phtml files> 


рдЗрд╕ рддрдереНрдп рдХреЗ рдХрд╛рд░рдг рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдПрдХ рдирд╛рдорд╕реНрдерд╛рди рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИ, рдореЙрдбреНрдпреВрд▓ рдХреА рдореВрд▓ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдпрд╣ рдирд╛рдорд╕реНрдерд╛рди рд╣реИред рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рд╕реНрд╡рд╛рдорд┐рддреНрд╡ рдХрд╛ рдПрдХ рдЙрдкрд╕рд░реНрдЧ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, Zend рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рд╡рд┐рдХрд╕рд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ "рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛" рдХреЗ рд▓рд┐рдП рдмреБрдирд┐рдпрд╛рджреА рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдкреНрд░рджрд╛рди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдореЙрдбреНрдпреВрд▓ рдХреЛ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЕрдзрд┐рдорд╛рдирддрдГ, рд▓реЗрдХрд┐рди рдЬрд░реВрд░реА рдирд╣реАрдВ) "ZendUser" - рдпрд╣ рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдФрд░ рдирд╛рдорд╕реНрдерд╛рди рдХрд╛ рдирд╛рдо рднреА рд╣реИред рдореЙрдбреНрдпреВрд▓ рдХреЗ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд┐рдд Module.php рдлрд╝рд╛рдЗрд▓ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЗрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рдирд╛рдо рд╕реНрдерд╛рди рдореЗрдВ рд╣реЛрдЧреАред рдиреАрдЪреЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рджреЗрдЦреЗрдВ:

 namespace ZendUser; class Module { } 


рдпрджрд┐ init () рдкрджреНрдзрддрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рддреЛ рдпрд╣ рдХрдХреНрд╖рд╛ рдХреЛ рд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдкреНрд░рдмрдВрдзрдХ рдЙрджрд╛рд╣рд░рдг рдХреЛ рдкрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж Zend \ ModuleManager рдХреЗ рд╢реНрд░реЛрддрд╛ рджреНрд╡рд╛рд░рд╛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЖрдкрдХреЛ рд╡рд┐рд╢реЗрд╖ рдИрд╡реЗрдВрдЯ рд╢реНрд░реЛрддрд╛ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди! Init () рд╡рд┐рдзрд┐ рд╕реЗ рд╕рд╛рд╡рдзрд╛рди рд░рд╣реЗрдВ! рдпрд╣ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ "рд╣рд▓реНрдХреЗ" рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рд╢реНрд░реЛрддрд╛рдУрдВ рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рдирд╛ред

рд╡рд╣реА onBootstrap () рдкрджреНрдзрддрд┐ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддрд╛ рд╣реИ, рдЬреЛ MvcEvent рдСрдмреНрдЬреЗрдХреНрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд▓реЗрддрд╛ рд╣реИ рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрд░реЛрдз рдХреЗ рд╕рд╛рде рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

рддреАрди рдСрдЯреЛрд▓реЙрдб _ *ред Php рдлрд╛рдЗрд▓реЗрдВ рд╡реИрдХрд▓реНрдкрд┐рдХ рд▓реЗрдХрд┐рди рд╡рд╛рдВрдЫрдиреАрдп рд╣реИрдВред рд╡реЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВ:


рдпреЗ рддреАрди рдлрд╛рдЗрд▓реЗрдВ рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ рд▓реЛрдбрд┐рдВрдЧ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИрдВ рдЬреЛ Zend \ ModuleManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдмрд┐рдирд╛ рдореЙрдбреНрдпреВрд▓ рдореЗрдВ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЬреЗрдбрдПрдл 2 рдХреЗ рдмрд╛рд╣рд░ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред

"рдХреЙрдиреНрдлрд╝рд┐рдЧрд░" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдпреЗ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХрд┐рд╕реА рднреА рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВ рдЬреЛ Zend \ config рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП "рдореЙрдбреНрдпреВрд▓.рдлреЙрд░реНрдореИрдЯ" рдирд╛рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЙрдЪрд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, PHP рдкреНрд░рд╛рд░реВрдк рдореЗрдВ рдПрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХреЗ рд▓рд┐рдП, рдореБрдЦреНрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓ рдХрд╛ рдирд╛рдо рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: рдореЙрдбреНрдпреВрд▓.config.phpред рдЖрдорддреМрд░ рдкрд░, рдЖрдкрдХреЛ рд░реВрдЯрд┐рдВрдЧ рдФрд░ рдирд┐рд░реНрднрд░рддрд╛ рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╝рд╛рдЗрд▓реЗрдВ рдмрдирд╛рдиреА рд╣реЛрдВрдЧреАред

Src рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХреЛ PSR-0 рдкреНрд░рд╛рд░реВрдк рдХреЗ рдЕрдиреБрд░реВрдк рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдФрд░ рдЗрд╕рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдХрд╛ рдореБрдЦреНрдп рдХреЛрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдХрдо рд╕реЗ рдХрдо, рдЗрд╕рдореЗрдВ рдПрдХ рдЙрдкрдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП рдЬрд┐рд╕рдХрд╛ рдирд╛рдо рдореЙрдбреНрдпреВрд▓ рдиреЗрдорд╕реНрдкреЗрд╕ (рдореЙрдбреНрдпреВрд▓ рд░реВрдЯ рдлрд╝реЛрд▓реНрдбрд░) рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдирд╛рдорд╕реНрдерд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдХреЛрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛред

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

рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕рд╛рд░реНрд╡рдЬрдирд┐рдХ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдбреЗрд╡рд▓рдкрд░ рдХреЗ рд╡рд┐рд╡реЗрдХ рдкрд░ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЫрд╡рд┐рдпрд╛рдВ, рд╕реАрдПрд╕рдПрд╕, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдЖрджрд┐ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВред

"рджреГрд╢реНрдп" рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рджреГрд╢реНрдп рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╢рд╛рдорд┐рд▓ рд╣реИрдВред

рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ



рдЖрд╡реЗрджрди рдореЗрдВ рдЫрд╣ рдореБрдЦреНрдп рдирд┐рд░реНрднрд░рддрд╛рдПрдВ рд╣реИрдВ:
  1. рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди - рдЖрдорддреМрд░ рдкрд░ рдПрдХ рд╕рд░рдгреА рдпрд╛ рдЯреНрд░реИрд╡рд░реНрд╕реЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ
  2. рд╕реЗрд╡рд╛ рдкреНрд░рдмрдВрдзрдХ рдЙрджрд╛рд╣рд░рдг
  3. EventManager рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "EventManager" рд╕реЗрд╡рд╛ рдХреЗ рдирд╛рдо рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░рдХреЗ, ServiceManager рджреНрд╡рд╛рд░рд╛ "рдЬрдиреНрдо" рд╣реИред
  4. ModuleManager рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ ServiceManager рдХрд╛ "рдЬрдиреНрдо" рд╣реИ, ModManManager рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдХреЗ
  5. рдЕрдиреБрд░реЛрдз рдЙрджрд╛рд╣рд░рдг, рдЬреЛ рд╕реЗрд╡рд╛ рдЕрдиреБрд░реЛрдз рд╕реЗ "рдЕрдиреБрд░реЛрдз" рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕реЗрд╡рд╛ рдкреНрд░рдмрдВрдзрдХ рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рдЬрдиреНрдо" рд╣реИред
  6. рд░рд┐рд╕реНрдкрд╛рдВрд╕ рдЙрджрд╛рд╣рд░рдг, рдЬреЛ ServiceManager рд╕реЗ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рд░реВрдк рд╕реЗ "рдЬрдиреНрдо" рд╣реИ, рд░рд┐рд╕реНрдкрд╛рдВрд╕ рд╕реЗрд╡рд╛ рдХрд╛ рдирд╛рдо рд╕реЗрдЯ рдХрд░рдХреЗ


рдкреНрд░рд╛рд░рдВрдн рдХреЗ рджреМрд░рд╛рди рдКрдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:

 use Zend\EventManager\EventManager; use Zend\Http\PhpEnvironment; use Zend\ModuleManager\ModuleManager; use Zend\Mvc\Application; use Zend\ServiceManager\ServiceManager; $config = include 'config/application.config.php'; $serviceManager = new ServiceManager(); $serviceManager->setService('EventManager', new EventManager()); $serviceManager->setService('ModuleManager', new ModuleManager()); $serviceManager->setService('Request', new PhpEnvironmentRequest()); $serviceManager->setService('Response', new PhpEnvironmentResponse()); $application = new Application($config, $serviceManager); 


рдКрдкрд░ рд╡рд░реНрдгрд┐рдд рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдкрдХреЗ рдкрд╛рд╕ рджреЛ рдХрд╛рд░реНрдпреЛрдВ рдХрд╛ рд╡рд┐рдХрд▓реНрдк рд╣реИред

рдкрд╣рд▓рд╛: рдЖрдк рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдмреВрдЯрд╕реНрдЯреНрд░реИрдк) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдореЗрдВ, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

рдпрджрд┐ рдЖрдкрдХреЛ рдЗрди рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЛ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдЖрдк рдЕрдиреБрдкреНрд░рдпреЛрдЧ рд╡рд░реНрдЧ рдФрд░ / рдпрд╛ рдмрд╕ рдЖрд╡рд╢реНрдпрдХ рдХреЛрдб рд▓рд┐рдЦрдХрд░ рдЕрдкрдиреЗ рдЖрдк рдХреЛ рд╡рд┐рдХрд▓реНрдк рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рджреВрд╕рд░рд╛: рд░рди () рд╡рд┐рдзрд┐ рдХреЛ рдХреЙрд▓ рдХрд░рдХреЗ рдмрд╕ рдЖрд╡реЗрджрди рд╢реБрд░реВ рдХрд░реЗрдВред рдпрд╣ рд╡рд┐рдзрд┐ рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░реЗрдЧреА:


рдпрджрд┐ "рдорд╛рд░реНрдЧ" рдпрд╛ "рдкреНрд░реЗрд╖рдг" рдШрдЯрдирд╛рдУрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рджреМрд░рд╛рди рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрддреА рд╣реИрдВ, рддреЛ "рдкреНрд░реЗрд╖рдг" рдлреЗрд░рд░ рдШрдЯрдирд╛ рдореЗрдВ рдЖрдЧ рд▓рдЧ рдЬрд╛рдПрдЧреАред

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

 use Zend\Loader\AutoloaderFactory; use Zend\Mvc\Service\ServiceManagerConfig; use Zend\ServiceManager\ServiceManager; // setup autoloader AutoloaderFactory::factory(); // get application stack configuration $configuration = include 'config/application.config.php'; // setup service manager $serviceManager = new ServiceManager(new ServiceManagerConfig()); $serviceManager->setService('ApplicationConfig', $configuration); // load modules -- which will provide services, configuration, and more $serviceManager->get('ModuleManager')->loadModules(); // bootstrap and run application $application = $serviceManager->get('Application'); $application->bootstrap(); $response = $application->run(); $response->send(); 


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

рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рдореЙрдбреНрдпреВрд▓рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧ


рдкрд╣рд▓реЗ рд╡рд░реНрдгрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЖрд╡реЗрджрди рд╕реЗрдЯрд┐рдВрдЧ рдХрд╣рд╛рдВ рд╕реЗ рдЖрдИ? рдпрд╣ рдорд╛рди рд▓реЗрдирд╛ рддрд░реНрдХрд╕рдВрдЧрдд рд╣реИ рдХрд┐ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рд╕реАрдзреЗ рдореЙрдбреНрдпреВрд▓ рд╕реЗ рд╣реА рд▓реА рдЬрд╛рддреА рд╣реИрдВред рдФрд░ рдлрд┐рд░ рдЕрдкрдиреЗ рдирд┐рдкрдЯрд╛рди рдореЗрдВ рдЗрди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЛ рдХреИрд╕реЗ рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВ?

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

рдореЙрдбреНрдпреВрд▓ рдкреНрд░рдмрдВрдзрдХ рдХреА рд╕реНрдерд╛рдкрдирд╛


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

рдЕрдм рдкрд╣рд▓реЗ рдмрддрд╛рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди.config.php рдлрд╝рд╛рдЗрд▓ рдХреЛ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВред рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рд╕реЗрдЯ рдХрд░реЗрдВ:
 <?php // config/application.config.php return array( 'modules' => array( /* ... */ ), 'module_listener_options' => array( 'module_paths' => array( './module', './vendor', ), ), ); 


рдореЙрдбреНрдпреВрд▓ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдмрд╕ рдореЙрдбреНрдпреВрд▓ рдХреЗ рд╕рд░рдгреА рдореЗрдВ рддрддреНрд╡реЛрдВ рдХреЛ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред

рдкреНрд░рддреНрдпреЗрдХ рдореЙрдбреНрдпреВрд▓ рдореЙрдбреНрдпреВрд▓ рд╡рд░реНрдЧ рдХреЛ рдПрдХ getConfig () рд╡рд┐рдзрд┐ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдПред рдЗрд╕реЗ рдПрдХ рд╕рд░рдгреА рдпрд╛ рдЯреНрд░реИрд╡рд░реНрд╕реЗрдмрд▓ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рд╡рд╛рдкрд╕ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬреИрд╕реЗ рдХрд┐ Zend \ config \ configред рдПрдХ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

 namespace ZendUser; class Module { public function getConfig() { return include __DIR__ . '/config/module.config.php' } } 


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

рдирд┐рд╖реНрдХрд░реНрд╖


ZF2 MVC рдкрд░рдд рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рд▓рдЪреАрд▓реА рд╣реИ, рдЬрд┐рд╕рд╕реЗ ServiceManager рдФрд░ EventManager рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЖрдкрдХреЗ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдореЗрдВ рдореЙрдбреНрдпреВрд▓ рдФрд░ рд╡рд░реНрдХрдлрд╝реНрд▓реЛ рдмрдирд╛рдирд╛ рдЖрд╕рд╛рди рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред ModuleManager рдореЙрдбреНрдпреВрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдореБрджреНрджреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╣рд▓реНрдХрд╛ рдФрд░ рдЖрд╕рд╛рди рддрд░реАрдХрд╛ рд╣реИ рдЬреЛ рд╣рд┐рддреЛрдВ рдФрд░ рдХреЛрдб рдХреЗ рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд╕реНрдкрд╖реНрдЯ рдЕрд▓рдЧрд╛рд╡ рдХреЛ рдкреНрд░реЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддрд╛ рд╣реИред

рд╕рдВрджрд░реНрдн


рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рд▓рд┐рдП, рдпреВрдХреНрд░реЗрдиреА рд╕рдореБрджрд╛рдп ZF2 рдХреА рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░ рдкреНрд░рд▓реЗрдЦрди рджреЗрдЦреЗрдВред
рдореВрд▓ рд▓реЗрдЦ

Source: https://habr.com/ru/post/In166657/


All Articles