
.Htaccess рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рд░рд╛рдЙрдЯрд┐рдВрдЧ рдХреЗ рдЙрдкрдпреЛрдЧ рд╕реЗ рджреВрд░ рд╣рдЯрдХрд░, рдореИрдВ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ index.php рдХреЗ рд▓рд┐рдП рдорд╛рдирдХ рджрд┐рд╢рд╛ рдореЗрдВ рдЖрдпрд╛: URL рдХреЛ рд╡рд╣реАрдВ рдкрд╛рд░реНрд╕ рдХрд┐рдпрд╛ рдФрд░ рд╕рдВрдмрдВрдзрд┐рдд рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЛ рдХреЙрд▓ рдХрд┐рдпрд╛ - рдореИрдВ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдЗрд╕ рддрдХрдиреАрдХ рд╕реЗ рдкреНрд░рд╕рдиреНрди рдерд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдореБрдЭреЗ рд╣рд╛рд▓ рд╣реА рдореЗрдВ рдПрд╣рд╕рд╛рд╕ рд╣реБрдЖ рдХрд┐ рдореИрдВ рдХреБрдЫ рдЧрд▓рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдБ, рдЬрд┐рд╕реЗ рдЕрдзрд┐рдХ рдХреБрд╢рд▓рддрд╛ рд╕реЗ рдФрд░ рдмреЗрд╣рддрд░ рддрд░реАрдХреЗ рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдЕрдЧрд▓рд╛, рдореИрдВ рдЕрдкрдиреА рд░реВрдЯрд┐рдВрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░реВрдВрдЧрд╛ рдЬреЛ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдлрд┐рд░ рдЗрд╕рдХреЗ рдХреНрд░рдордмрджреНрдз рд░реВрдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
рдЗрдВрдбреЗрдХреНрд╕ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдЬрд╛рдБрдЪ рд╕реЗ рджреВрд░ рдЬрд╛рдХрд░, рдореИрдВ рдкрд╣рд▓реА рдмрд╛рд░ рдореЗрдВ рдЗрд╕ рддрд░рд╣ рдХреЗ рдирд┐рд░реНрдорд╛рдг рд╕реЗ рдЫреБрдЯрдХрд╛рд░рд╛ рдкрд╛рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛
if ($url[1] == 'news'){}
рдореИрдВ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдЕрдзрд┐рдХрд╛рдВрд╢ рд░реВрдкрд░реЗрдЦрд╛рдУрдВ рджреНрд╡рд╛рд░рд╛ рдкреНрд░рд╕реНрддреБрдд рдбрд┐рдЬрд╝рд╛рдЗрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛, рдЬреЛ рдЖрдорддреМрд░ рдкрд░ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреЗ рд╣реИрдВ:
$route->addRule( '/news/{id}/', array( 'controler' = 'news', 'action' = 'showOne' ) );
рдкреНрд░рд╛рд░рдВрдн рдореЗрдВ, рдореИрдВ JSON рдпрд╛ XML рдореЗрдВ рд░реВрдЯрд┐рдВрдЧ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред
рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╣рд░ рдмрд╛рд░ рдХрд┐рд╕реА рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдирд╛ рдПрдХ рдЕрдЪреНрдЫрд╛ рд╡рд┐рдЪрд╛рд░ рдирд╣реАрдВ рд╣реИ, рдФрд░ рдпрд╣ рдкреНрд░рдХрд╛рд░ рд╕реНрдЯреЗрдЯрд┐рдХ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдпрд╛ рдлреЙрд░реНрдо / рдХрдВрдЯреНрд░реЛрд▓рд░ / рдПрдХреНрд╢рди / рдХреЗ рдиреЗрд╡рд┐рдЧреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдкрдпреБрдХреНрдд рд╣реИред
рдореИрдВ рд░реВрдЯрд┐рдВрдЧ рдХреЛ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░рдиреЗ рдореЗрдВ рдЕрдзрд┐рдХ рд▓рдЪреАрд▓рд╛рдкрди рдЪрд╛рд╣рддрд╛ рдерд╛ рдФрд░ рдЕрдВрддрддрдГ рдирд┐рдпрдореЛрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП XML рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛, рдФрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рдкрд╛рд░реНрд╕ рдХрд░рдиреЗ рдФрд░ рдирд┐рдпрдореЛрдВ рдХрд╛ рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдЗрд╕реЗ рдПрдХ рдлрд╝рд╛рдЗрд▓ рдореЗрдВ рдХреНрд░рдордмрджреНрдз рдХрд░реЗрдВ (рдмрд╛рдж рдореЗрдВ рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ)
рд░реВрдЯрд┐рдВрдЧ XML рдлрд╝рд╛рдЗрд▓ рдХреБрдЫ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
<root> <routes> <route match="exit" controller="user" action="exit" /> <route match="secret" controller="error" action="404"> <route match="love" controller="secret" action="love" /> </route> <route match="user" controller="user" action="list"> <route controller="user" action="user" match="{login}"> <route match="comments" controller="user" action="comments" /> <route match="wall" controller="user" action="wall" /> </route> </route> </routes> </root>
рдирд┐рдпрдо рдХреА рд╕рдВрд░рдЪрдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ
XML рдирд┐рдпрдо рддрддреНрд╡ / рд░реВрдЯ / рд░реВрдЯ рддрддреНрд╡ рдореЗрдВ рд╕рдорд╛рд╣рд┐рдд рд╣реИ, рдирд┐рдпрдо рддрддреНрд╡ рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдП:
рдорд┐рд▓рд╛рди - URL рджреНрд╡рд╛рд░рд╛ рдЦреЛрдЬ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ
рдирд┐рдпрдВрддреНрд░рдХ - рдирд┐рдпрдВрддреНрд░рдХ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдХреНрд░рд┐рдпрд╛ - рд╡рд┐рдзрд┐ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ
рдореИрдЪ рдореЗрдВ рд╕реНрдереИрддрд┐рдХ рдбреЗрдЯрд╛ рд╢рд╛рдорд┐рд▓ рд╣реЛ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП "рдЧреБрдкреНрдд", рдФрд░ рдЧрддрд┐рд╢реАрд▓ "рдкреГрд╖реНрда- {рдкреЗрдЬ | рдЕрдВрдХ}", рдЧрддрд┐рд╢реАрд▓ рдШреБрдВрдШрд░рд╛рд▓реЗ рдмреНрд░реЗрд╕рд┐рдЬрд╝ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдФрд░ рдЙрд╕рдореЗрдВ рдЪрд░ рдХреЗ рдирд╛рдо рд╕реЗ рднрд┐рдиреНрди рднрд┐рдиреНрди рд╣реЛрддреЗ рд╣реИрдВ (рдЪрд░ рдХрд╛ рдирд╛рдо рдФрд░ рдЗрд╕рдХрд╛ рдорд╛рди рдкреНрд░рд╛рдкреНрдд рд╣реЛрдЧрд╛ рдпрджрд┐ рд╡реЗ рдореЗрд▓ рдЦрд╛рддреЗ рд╣реИрдВ)
рдЖрдк рдПрдХ рдЪрд░ рдореЗрдВ рдЗрд╕рдХрд╛ рдкреНрд░рдХрд╛рд░ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
{param1 | num} - рдХреЗрд╡рд▓ рддрднреА рдореИрдЪ рдХрд░реЗрдЧрд╛ рдЬрдм param1 рдПрдХ рд╕рдВрдЦреНрдпрд╛рддреНрдордХ рдорд╛рди рд╣реИ
{param2 | str} - рдПрдХ рдореИрдЪ рддрднреА рджреЗрдЧрд╛ рдЬрдм param2 рдореЗрдВ рдХреЗрд╡рд▓ рдЕрдХреНрд╖рд░ рдФрд░ рд╕рдВрдЦреНрдпрд╛рдПрдБ рд╣реЛрдВрдЧреА
рдПрдХреНрд╕рдПрдордПрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рдПрдХ рд╕рд░рдгреА рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИ рдЬреЛ рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдирд┐рдпрдореЛрдВ рдХреЛ рдЕрд▓рдЧ рдХрд░рддреА рд╣реИред
рд╕рднреА рд╡рдВрд╢рдЬ рднреА рд╕реНрдерд┐рд░ рдФрд░ рдЧрддрд┐рд╢реАрд▓ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рд╣реИрдВред
/ рд░реВрдЯ / рд╕рд┐рд╕реНрдЯрдо рддрддреНрд╡ рдореЗрдВ рднреА
рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдбреЗрдЯрд╛ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИ:
<route match="index" controller="index" action="index" /> <route match="not_found" controller="error" action="404" />
рддрджрдиреБрд╕рд╛рд░, рдЗрд╕ рдШрдЯрдирд╛ рдореЗрдВ рдХрд┐ рд░реВрдЯрд┐рдВрдЧ рдХреЗ рдирд┐рдпрдореЛрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреЛрдИ рдореИрдЪ рдирд╣реАрдВ рдорд┐рд▓рд╛ рд╣реИ, 404 рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╡рд╛рдкрд╕ рдЖ рдЬрд╛рдПрдВрдЧреА, рдЦрд╛рд▓реА URL рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рд╕реВрдЪрдХрд╛рдВрдХ рдореВрд▓реНрдп
рдЙрдкрдпреЛрдЧ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
$result = $router->get('/secret/love/');
рдкрд░рд┐рдгрд╛рдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реЛрдЧрд╛:
Array ( [controller] => secret [action] => love [values] => Array ( ) )
$result = $router->get('/user/Testik/wall/');
Array ( [controller] => user [action] => wall [values] => Array ( [login] => Testik ) )
BitBucket рдкрд░ рд╕реВрддреНрд░рдбрд╛рдЙрдирд▓реЛрдб
рдЬрд╝рд┐рдк gz bz2