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

рдпрд╣ рдкреЛрд╕реНрдЯ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рд╕рдордп рдореИрдВ рдХреЛрдбрд┐рдирдЧрд░ 3 рдХреЗ рд▓рд┐рдП рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рдж рдХреЗ рд╡рд┐рдХрд╛рд╕ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рд╡рд┐рд╡рд░рдг рдХреЗ рд╕рд╛рде рдкреЛрд╕реНрдЯ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрдо рд╣реИред
рд╕рдорд╕реНрдпрд╛ рд╣рд▓ рдХрд░рдирд╛
рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рд╕рдордп рдХреЗ рд╕рд╛рде рдФрд░ рдЗрд╕ рдврд╛рдВрдЪреЗ рдХреЗ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддреГрдд рдЕрдзреНрдпрдпрди рд╕реЗ, рдореИрдВ рдЗрд╕ рдирд┐рд╖реНрдХрд░реНрд╖ рдкрд░ рдкрд╣реБрдВрдЪрд╛ рд╣реВрдВ рдХрд┐
рд░рд╛рдЙрдЯрд░ рдореЗрдВ рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП ред
рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рдж рдХрд╛ рд╕рд┐рджреНрдзрд╛рдВрдд
рдмрд╣реБрднрд╛рд╖рд╛рд╡рд╛рдж рдХрд╛ рддрд░реНрдХ рджрд░реНрджрднрд░рд╛ рд╕рд░рд▓ рд╣реИред рдЕрдкрдбреЗрдЯ рдХрд┐рдП рдЧрдП MY_Router.php рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рд╕рд╛рдЗрдЯ рдХреА рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рднреА рдирд┐рдпрдореЛрдВ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЬреЛрдбрд╝ рджреЗрдЧрд╛ред рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдХрд╛рдо рдХреЗ рдмрд╛рдж, CodeIgniter 3 рдирдП рд░реВрдЯ рд╕реВрдЪреА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рдЗрд╕ рддрд░рд╣ рд╕реЗ рдмрд╛рд╣рд░ рд╣реЛ рдЬрд╛рдПрдЧрд╛ :)
рдпрд╣ рдерд╛$route['default_controller'] = "pages/index"; $route['pages/(.+)'] = 'pages/index/$1'; $route['news/(.+)'] = 'news/view/$1';
рдмрди рдЬрд╛рдПрдЧрд╛ $route['default_controller'] = "pages/index"; $route['(by|ru|kz|en)/pages/(.+)'] = 'pages/index/$2'; $route['(by|ru|kz|en)/news/(.+)'] = 'news/view/$2';
рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ, рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдВ рдЬрд╣рд╛рдВ рд╣рдо рд╕рд╛рдЗрдЯ рдХреА рдЙрдкрд▓рдмреНрдз рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░реЗрдВрдЧреЗ рдФрд░ рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрд╛рд╖рд╛
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди / localize_config.php рд╕реЗрдЯ рдХрд░реЗрдВрдЧреЗред
<?php defined('BASEPATH') OR exit('No direct script access allowed'); $config['ROUTE_LOCALIZE'] = array( 'default_key' => 1,
рд╣рдо рдорд╛рдирдХ рдкреНрд░рдгрд╛рд▓реА / рдХреЛрд░ / Router.php рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХрд╛рд░реНрдп рдХрд░рддреЗ рд╣реИрдВред
CI_Router (MX_Router) рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░
рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рдХреЛрд░ рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ
MY_Router.php рдлрд╝рд╛рдЗрд▓ рдмрдирд╛рдПрдБ
ред рдпрджрд┐ рдЖрдк HMVC рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рдЖрдкрдХреЛ рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕реЗ Router.php рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред
MY_Router.php рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдХреЛрдб рдмреНрд▓реЙрдХ рдЬреЛрдбрд╝реЗрдВ
<?php (defined('BASEPATH')) OR exit('No direct script access allowed');
2) рдЙрд╕рдХреЗ рдмрд╛рдж, CI_Router рдХреНрд▓рд╛рд╕ рдХрд╛ рдПрдХреНрд╕рдЯреЗрдВрд╢рди рдмрдирд╛рдПрдВ рдпрд╛ рдЕрдЧрд░ HMVC MX_Router рдХреЗ рд╕рд╛рде
class MY_Router extends CI_Router { public $user_lang = ''; public function __construct($routing = NULL) { parent::__construct(); } ... }
3) рдФрд░ рдЕрдм рд╕рдмрд╕реЗ рджрд┐рд▓рдЪрд╕реНрдкред рд╣рдореЗрдВ рдорд╛рдирдХ рдлрд╝рдВрдХреНрд╢рди CI_Router ->
_set_rout рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╢рд╛рдпрдж рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рд╕реАрдЖрдИ рдбреЗрд╡рд▓рдкрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕реНрдХрд░рдг рд╕реЗ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдмрджрд▓ рдЬрд╛рдПрдЧрд╛, рдореИрдВ рдЖрдкрдХреЛ рд╕рд▓рд╛рд╣ рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЖрдк рдЗрди рдкрдВрдХреНрддрд┐рдпреЛрдВ рдХреЛ рд╕рдордЭ рд▓реЗрдВ рддрд╛рдХрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХ рдХреЗ рдХрд┐рд╕реА рднреА рдЕрдкрдбреЗрдЯ рдХреЗ рдмрд╛рдж рдЖрдкрдХреА MY_Rout рдлрд╝рд╛рдЗрд▓ рдЕрджреНрдпрддрд┐рдд рд╣реЛред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдкрдХреЛ рдХреЗрд╡рд▓ 1 рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред
рддреЛ, рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ,
рд╕рд┐рд╕реНрдЯрдо / рдХреЛрд░ / Router.php рд╕реЗ рдлрд╝рдВрдХреНрд╢рди (рд╡рд┐рдзрд┐)
_set_rout рдХреЛ рдХреЙрдкреА рдХрд░реЗрдВ рдФрд░ рдЗрд╕реЗ рд╣рдорд╛рд░реЗ рдмрдирд╛рдП рд╡рд░реНрдЧ MY_Rout рдореЗрдВ рдкреЗрд╕реНрдЯ рдХрд░реЗрдВред
рд╣рдо рдЙрди рд▓рд╛рдЗрдиреЛрдВ рдХреЛ рдЦреЛрдЬрддреЗ рд╣реИрдВ рдЬрд┐рдирдХреЗ рдмрд╛рдж рдлрд╝рдВрдХреНрд╢рди рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рдорд╛рд░реНрдЧреЛрдВ редphp
..... if (file_exists(APPPATH.'config/'.ENVIRONMENT.'/routes.php')) { include(APPPATH.'config/'.ENVIRONMENT.'/routes.php'); }
рдФрд░ рдкреНрд░рд╛рдкреНрдд рд░рд╛рдЙрдЯрд░ рдХреЛ рдмрджрд▓рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реА рд▓рд╛рдЗрди рдХреЛрдб рдХреЗ рдЗрд╕ рднрд╛рдЧ рдореЗрдВ рд╢рд╛рдорд┐рд▓ рдХрд░реЗрдВред
4) рдФрд░ рдпрд╣рд╛рдБ рдлрд╝рдВрдХреНрд╢рди рд╣реА рд╣реИ, рдЬреЛ рд╡рд┐рднрд┐рдиреНрди рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдорд╛рд░реЗ рдирд┐рдпрдореЛрдВ рдХреЛ рдлрд┐рд░ рд╕реЗ рдХрд░реЗрдЧрд╛ред
private function __localize_init( &$route = array() ) {
рд╡рд╣ рд╕рдм рд╣реИ!
рдЕрдм рдЖрдкрдХреА рд╕рд╛рдЗрдЯ рд▓рд┐рдВрдХ
vashsite.com/by ,
vashsite.com/en рдпрд╛
vashsite.com (рдбрд┐рдлрд╝реЙрд▓реНрдЯ рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ) рдХреЛ рд╕рдордЭ рдЬрд╛рдПрдЧреАред
рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рдореЗрд╢рд╛ рдЖрдкрдХреЗ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдпрд╛ рдореЙрдбрд▓реЛрдВ рдореЗрдВ рдиреАрдЪреЗ рд╡рд░реНрдгрд┐рдд рдЪрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЪрдпрдирд┐рдд рднрд╛рд╖рд╛ (рджреНрд╡рд╛рд░рд╛, рдЖрд░рдпреВ, ..... kz) рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рд╣реЛрддрд╛ рд╣реИред
$this->router->user_lang;
рдлрд┐рд░ рдпрд╣ рдЖрдкрдХреА рдХрд▓реНрдкрдирд╛ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИ рдХрд┐ user_lang рдХреЗ рд╕рд╛рде рдХреИрд╕реЗ рдХрд╛рдо рдХрд░реЗрдВ :) рдЖрдкрдХреЗ рдкрд╛рд╕ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╡рд╣ рд╕рдм рдХреБрдЫ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред
Bitbucket.org рдкрд░ рддреИрдпрд╛рд░ рд╕рдВрд╕реНрдХрд░рдг