рдкреЗрд╢ рд╣реИ рдХреЛрд╣рдирд╛ 3.0 - рднрд╛рдЧ 6

рдХреЛрд╣рд╛рдирд╛ PHP V3 (KO3) рдХреЗ рд╕рд╛рде рд╡рд┐рдХрд╛рд╕ рд▓реЗрдЦ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рдЫрдареЗ рднрд╛рдЧ рдХреЛ рдкреВрд░рд╛ рдХрд░реЗрдВред рдкрд┐рдЫрд▓реЗ рднрд╛рдЧреЛрдВ рдХреЛ " рдХреЛрд╣рди 3.0 рдХреЗ рд╕рд╛рде рдкрд░рд┐рдЪрд┐рдд " рд▓реЗрдмрд▓ рдХреЗ рддрд╣рдд рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╣рдо рд░реВрдЯрд┐рдВрдЧ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗред



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



рдорд╛рд░реНрдЧ рдХреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ? "Application /" рдлрд╝реЛрд▓реНрдбрд░ рд╕реЗ "bootstrap.php" рдлрд╝рд╛рдЗрд▓ рдЦреЛрд▓реЗрдВ рдФрд░ рдЗрд╕ рдЯрд┐рдкреНрдкрдгреА рдкрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВ:

/** * Set the routes. Each route must have a minimum of a name, a URI and a set of * defaults for the URI. */
      
      





рдиреАрдЪреЗ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП:



 Route::set('default', '(<controller>(/<action>(/<id>)))') ->defaults(array('controller' => 'welcome', 'action' => 'index'));
      
      





рдпрд╣реА рд╣реИ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдХ рдкреВрд░реНрд╡-рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдорд╛рд░реНрдЧ рд╣реИред рдЪрд▓реЛ рдЗрд╕реЗ рдЕрд▓рдЧ рд▓реЗ:

1. рдорд╛рд░реНрдЧ рдХрд╛ рдирд╛рдо "рдбрд┐рдлрд╝реЙрд▓реНрдЯ" рд╣реИ

2. '((/ (/)))' - рдХреЛрд╖реНрдардХ рдирд┐рдпрдВрддреНрд░рдХ, рдХреНрд░рд┐рдпрд╛ рдФрд░ рдЖрдИрдбреА рдХреЗ рд╕рдВрдХреЗрдд рдХреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рдмрдирд╛рддреЗ рд╣реИрдВред рдФрд░ рд╕рдВрдХреЗрдд <...> рдЗрдВрдЧрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдпрд╣ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЛрдг рдХреЛрд╖реНрдардХ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдирд╛рдо рдХреЗ рд╕рд╛рде рдПрдХ рдЪрд░ рдХреЛ рд╕реМрдВрдкрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

3. рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдирд┐рдпрдВрддреНрд░рдХ "рд╕реНрд╡рд╛рдЧрдд" рд╣реИ, рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХрд╛рд░реНрд░рд╡рд╛рдИ "рд╕реВрдЪрдХрд╛рдВрдХ" рд╣реИред



рдпрджрд┐ рдЖрдк "http: // localhost / mykohana3 /" рдкрддреЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд░рд╛рдЙрдЯрд░ рдпрд╣ рджреЗрдЦреЗрдЧрд╛ рдХрд┐ рд╣рдордиреЗ рдирд┐рдпрдВрддреНрд░рдХ рдпрд╛ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЛ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИред рд╡рд╣ рдПрдХ рдореИрдЪ рдХреЗ рд▓рд┐рдП рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЫрд╛рдВрдЯрдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИред рдЪреВрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдПрдХ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдорд╛рд░реНрдЧ ("рдбрд┐рдлрд╝реЙрд▓реНрдЯ") рд╣реИ, рд░рд╛рдЙрдЯрд░ рдЗрд╕рдХрд╛ рдЪрдпрди рдХрд░реЗрдЧрд╛ рдФрд░ рдЕрдиреБрдкрд▓рдмреНрдз рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдмрдЬрд╛рдп "рд╕реНрд╡рд╛рдЧрдд" рдФрд░ рдЕрдиреБрдкрд▓рдмреНрдз рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдмрдЬрд╛рдп "рдЗрдВрдбреЗрдХреНрд╕" рдХреЛ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдпрд╣реА рд╣реИ, рдпрджрд┐ рдЖрдк рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдореЗрдВ "http: // localhost / mykohana3 /" рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ "http: // localhost / mykohana3 / welcome / index" рдХреЗ рд╕рдорд╛рди рд╣реЛрдЧрд╛ред



рдпрджрд┐ рдЖрдк рдкрддрд╛ "http: // localhost / mykohana3 / hmvc /" рджрд░реНрдЬ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд░рд╛рдЙрдЯрд░ рдзреНрдпрд╛рди рджреЗрдЧрд╛ рдХрд┐ рдирд┐рдпрдВрддреНрд░рдХ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрд░рд╡рд╛рдИ рдирд╣реАрдВ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЗрд╕реЗ "рдЗрдВрдбреЗрдХреНрд╕" рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛, рдЬреЛ рдХрд┐ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рдХреНрд░рд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рд╣реИред



рдирд┐рдпрдВрддреНрд░рдХ рдФрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ "рдЖрдИрдбреА" рдкреИрд░рд╛рдореАрдЯрд░ рд╣реИ, рдЬреЛ рд╡реИрдХрд▓реНрдкрд┐рдХ рднреА рд╣реИред рдпрджрд┐ рд╣рдо "http: // localhost / mykohana3 / hmvc / index / 111" рдкрддреЗ рдкрд░ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рд╣рдо рдХреБрдЫ рднреА рдирдпрд╛ рдирд╣реАрдВ рджреЗрдЦреЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╣рдордиреЗ рдЗрд╕ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╣реИрдВрдбрд▓рд░ рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдЕрдЧрд░ рд╣рдо рджреВрд╕рд░рд╛ рдкреИрд░рд╛рдореАрдЯрд░ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ: "http: // localhost / mykohana3 / hmvc / index / 111/222", рддреЛ рд╣рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рдорд┐рд▓рддреА рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рд╣рдорд╛рд░реЗ рдорд╛рд░реНрдЧ (рдирд┐рдпрдВрддреНрд░рдХ / рдХреНрд░рд┐рдпрд╛ / рдЖрдИрдбреА) рдореЗрдВ рдХреЗрд╡рд▓ рддреАрди рдЦрдВрдб рдкрдВрдЬреАрдХреГрдд рд╣реИрдВ, рдФрд░ "/ 222" рдЪреМрдерд╛ рд╣реИред рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдлрд╝реЙрд░реНрдо рдореЗрдВ рдорд╛рд░реНрдЧ рд▓рд╛рдХрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:



 Route::set('default', '(<controller>(/<action>(/<id>(/<overflow>))))', array('overflow' => '.*?')) ->defaults(array('controller' => 'welcome', 'action' => 'index'));
      
      





рдпрджрд┐ рдЖрдк 'bootstrap.php' рдХреЛ рд╕рд╣реЗрдЬрддреЗ рд╣реИрдВ рдФрд░ рдЕрдкрдиреЗ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рддреНрд░реБрдЯрд┐ рджреВрд░ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред



рд╣рдордиреЗ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рд░рдгреА "рд╕рд░рдгреА ('рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣' => '*ред *?") рдЬреЛрдбрд╝реАред рдпрд╣ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рддрд░реНрдХ рдХреЛ рдПрдХ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд░рд╛рдЙрдЯрд░ рдХреЛ рд╕реНрд▓реИрд╢ рд╕рд╣рд┐рдд рд╕рдм рдХреБрдЫ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЗрд╕реЗ рдПрдХ рдЕрддрд┐рдкреНрд░рд╡рд╛рд╣ рдЪрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рдХреЛ рдкрд╛рд╕ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП рддреАрд╕рд░реЗ рдЦрдВрдб рдХреЗ рдмрд╛рдж, рд░рд╛рдЙрдЯрд░ рдкреНрд░рддреНрдпреЗрдХ рдирдП рд╕реНрд▓реИрд╢ рдХреЗ рдмрд╛рдж рдкрд╛рда рдХреЛ рдЕрд▓рдЧ рдкреИрд░рд╛рдореАрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдирд╣реАрдВ рдХрд░реЗрдЧрд╛ред



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



 Route::set('default', '(<controller>(/<action>(/<id>(/<overflow>))))', array('id' => '[[:digit:]]{1,}', 'overflow' => '.*?')) ->defaults(array('controller' => 'welcome', 'action' => 'index'));
      
      





рдпрджрд┐ рд╣рдо рдЕрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ "http: // localhost / mykohana3 / hmvc / index / xxx" рдореЗрдВ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рд╣рдореЗрдВ рдорд╛рд░реНрдЧ рдЦреЛрдЬрдиреЗ рдХреА рдЕрд╕рдВрднрд╡рддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рддреНрд░реБрдЯрд┐ рджрд┐рдЦрд╛рдИ рджреЗрдЧреА, рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ 404 рд╡реЗрдВ рдкреГрд╖реНрда рдХреЗ рд╕рдорд╛рди рд╣реИред рдмреЗрд╢рдХ, рдЖрдк рдирд┐рдпрдВрддреНрд░рдХ рдХреЗ рдЕрдВрджрд░ рдЗрд╕ рддрд░рд╣ рдХреА рдЬрд╛рдВрдЪ рдХреА рд╡реНрдпрд╡рд╕реНрдерд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдпрд╣ рдорд╛рд░реНрдЧреЛрдВ рдХреЗ рд╕рдВрднрд╛рд╡рд┐рдд рдЙрдкрдпреЛрдЧ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИред



рдЕрдм рдорд╛рдирдХ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рдмрдЬрд╛рдп, рдЕрдкрдирд╛ рдорд╛рд░реНрдЧ рдмрдирд╛рдПрдВред "Bootstrap.php" рдлрд╝рд╛рдЗрд▓ рдореЗрдВ, рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдирд┐рдореНрди рдЬреЛрдбрд╝реЗрдВ:



 Route::set('monkeys', 'monkeys(/<action>(/<id>))') ->defaults(array('controller' => 'ko3', 'action' => 'posts'));
      
      





рдЕрдм рдЬрдм рдЖрдк рдкреГрд╖реНрда "http: // localhost / mykohana3 / рдмрдВрджрд░реЛрдВ" рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВ, рддреЛ рдирд┐рдпрдВрддреНрд░рдХ "ko3" рдХреА рдХрд╛рд░реНрд░рд╡рд╛рдИ "рдкреЛрд╕реНрдЯ" рдХрд╣рд╛ рдЬрд╛рдПрдЧрд╛ред рд╡рд░реНрдЧреЛрдВ рдХреА рд╕реВрдЪреА рдореЗрдВ, "рдмрдВрджрд░" рд╢рдмреНрдж рдХреЛрд╖реНрдардХреЛрдВ рд╕реЗ рдШрд┐рд░рд╛ рдирд╣реАрдВ рд╣реИ, рдЬреЛ рдЗрд╕реЗ рд╡реИрдХрд▓реНрдкрд┐рдХ рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред рдЬрдм рд░рд╛рдЙрдЯрд░ рдирд┐рдпрдВрддреНрд░рдХ рд╕реНрдерд╛рди рдкрд░ "рдмрдВрджрд░реЛрдВ" рд╢рдмреНрдж рдХреЛ рджреЗрдЦрддрд╛ рд╣реИ рддреЛ рдЗрд╕ рдорд╛рд░реНрдЧ рдХреЛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред



рдпрд╣рд╛рдБ рдПрдХ рдорд╛рд░реНрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рд╕реНрдереИрддрд┐рдХ рдкреГрд╖реНрдареЛрдВ ( рдЕрдирдзрд┐рдХреГрдд рдХреЛрд╣рдирд╛ 3.0 рд╡рд┐рдХреА рд╕реЗ рдЙрдзрд╛рд░) рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:



 Route::set('static', '<page>', array('page' => 'about|faq|locations')) ->defaults(array('controller' => 'page', 'action' => 'static'));
      
      





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



рдЕрдиреБрд╡рд╛рджрдХ рдХрд╛ рдзреНрдпрд╛рди рджреЗрдВ: рд╣реЛрдмреЗ рдкрд░ рдХреЛрд╣рд╛рдирд╛ 3.0 рдореЗрдВ рдорд╛рд░реНрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдФрд░ рд▓реЗрдЦ рд╣реИ ред



All Articles