

CodeIgniter рдХрдо рдПрдВрдЯреНрд░реА рдереНрд░реЗрд╢реЛрд▓реНрдб рд╡рд╛рд▓рд╛ рдПрдХ рдЫреЛрдЯрд╛ рдФрд░ рддреЗрдЬрд╝ php рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЕрдЬреНрдЮрд╛рдд рдХрд╛рд░рдгреЛрдВ рд╕реЗ Yii, Symfony рдФрд░ Kohana рдЬреИрд╕реЗ рдордЬрдмреВрдд рдкреБрд░реБрд╖ рд╣реИрдВ, рдореИрдВ рдЗрд╕ рдкрд░ рд╕рднреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрддрд╛ рд╣реВрдВред рд╕рдм рдХреБрдЫ рдареАрдХ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди CI рдореЗрдВ рджреЛ рдХрд╛рдлреА рдареЛрд╕ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реИрдВ: рдЕрд╡рд┐рдХрд╕рд┐рдд ActiveRecord рдФрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЬрди рдХреА рдХрдореАред рд╣рдо рджреВрд╕рд░реА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╕рдорд╛рдзрд╛рди рдХрд░реЗрдВрдЧреЗред
рдХреНрдпреЛрдВ рдЯрд╣рдиреА, рд╕реНрдорд╛рд░реНрдЯ рдирд╣реАрдВ?
рдореЗрд░реЗ рд▓рд┐рдП, SMARTY рдХреБрдЫ рдмрдбрд╝рд╛, рдкреБрд░рд╛рдирд╛ рдФрд░ рдбрд░рд╛рд╡рдирд╛ рд╣реИред рджреВрд╕рд░реА рдУрд░ - рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдФрд░ рд╕рдордп-рдкрд░реАрдХреНрд╖рдгред рдЯреНрд╡рд┐рдЧ рдпреБрд╡рд╛, рдКрд░реНрдЬрд╛рд╡рд╛рди рдФрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рд╕рд┐рдореНрдлрдиреА рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЗрд╕ рдврд╛рдВрдЪреЗ рдореЗрдВ рдПрдХ рдмрдбрд╝рд╛ рдФрд░ рд╕рдХреНрд░рд┐рдп рд╕рдореБрджрд╛рдп рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐ рдХрд▓ рд╣реА рд╣рдордиреЗ рдПрдХ
рддреБрд▓рдирд╛рддреНрдордХ рдкреНрд░рджрд░реНрд╢рди рдХрд┐рдпрд╛ рдерд╛ рдЬрд┐рд╕рдореЗрдВ SMARTY рд╕реНрдкрд╖реНрдЯ рд░реВрдк рд╕реЗ рдЬреАрддрд╛ рдерд╛, рдореИрдВрдиреЗ рдЯрд╣рдиреА рдЖрдЬрд╝рдорд╛рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рд╕рд╛рдорд╛рдиреНрдп рдЬрд╛рдирдХрд╛рд░реА рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдЗрдП рд╣рдо рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░ рдЖрддреЗ рд╣реИрдВ - рдХреЛрдбрд┐рдЧрдВ 2 рдореЗрдВ рдЯреНрд╡рд┐рдЧ рдХреЛ рдПрдХреАрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рддреАрди рд╕рд░рд▓ рдЪрд░рдг:
1. Twig рдлрд╛рдЗрд▓ рдХреЛ CI рдореЗрдВ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░реЗрдВ
рд╣рдо рдЯреНрд╡рд┐рде рдХреЗ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдЧрд┐рдЯрд╣рдм рд╕реЗ рд▓реЗрддреЗ рд╣реИрдВ
github.com/fabpot/twigрд╣рдо рд╕рдВрдЧреНрд░рд╣ рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдирд┐рдХрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдирд╛рдо рдмрджрд▓рдХрд░ рдЯреНрд╡рд┐рдЧ рдХрд░ рджреЗрддреЗ рд╣реИрдВ, рдЗрд╕реЗ рдЕрдкрдиреЗ CI рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
2. рд╣рдо рдЯрд╣рдиреА рдХреЛ рд╕реАрдЖрдИ рд╕реЗ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ
рд╣рдо CI рдХреЗ рд▓рд┐рдП рдЙрд╕реА рдирд╛рдо рдХреА рдЯрд╣рдиреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдПрдХ рд╕реНрдерд┐рд░ рд╕рдВрд╕реНрдХрд░рдг рд▓реЗрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рдирд┐рдпрдВрддреНрд░рдХ рд╕реЗ рдЯрд╣рдиреА рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрдЧрд╛ред
github.com/jamiepittock/codeigniter-twigрд╕рдВрдЧреНрд░рд╣ рд╕реЗ рд╣рдо рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рд▓реЗрддреЗ рд╣реИрдВ рдФрд░ рдЖрдкрдХреЗ CI рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлрд╝реЛрд▓реНрдбрд░ рдкрд░ рдХреЙрдкреА рдХрд░рддреЗ рд╣реИрдВред
3. рдЯрд╣рдиреА рдкрде рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ
рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЦреЛрд▓реЗрдВ / рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд░реЗрдВ / twig.php рдФрд░ рдЕрдкрдиреА рд╕реЗрдЯрд┐рдВрдЧ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдкрде рдмрджрд▓реЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдореБрдЭреЗ рдХреИрд╢ рдкрде рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ
$config['cache_dir'] = BASEPATH.'cache/twig';
4 (рд╡реИрдХрд▓реНрдкрд┐рдХ)ред рдЯреНрд╡рд┐рдЧ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХреЗ рдХреИрд╢рд┐рдВрдЧ рдФрд░ рдСрдЯреЛ-рдЕрдкрдбреЗрдЯ рдХреЛ рдЪрд╛рд▓реВ рдХрд░реЗрдВ
рдУрдкрди рдПрдкреНрд▓рд┐рдХреЗрд╢рди / рд▓рд╛рдЗрдмреНрд░реЗрд░реАрдЬрд╝ / рд╕реНрдЯреЗрдк рдЯреВ рд╕реЗ Twig.phpред
рдХреА рдЬрдЧрд╣
$this->_twig = new Twig_Environment($loader
рдкрд░
$twig_env_options = array( 'auto_reload' => true, 'cache' => $this->_cache_dir, ); $this->_twig = new Twig_Environment($loader, $twig_env_options
рд╣реЛ рдЧрдпрд╛ред
рдХрдиреЗрдХреНрд╢рди (рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдХрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдореЗрдВ рдРрд╕рд╛ рдХрд░рдирд╛ рдмреЗрд╣рддрд░ рд╣реИ рддрд╛рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдХреЛрдб рдХреА рдирдХрд▓ рди рдХрд░реЗрдВ)
$this->load->library('twig');
рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдмрд┐рд▓реНрдЯ-рдЗрди CI рдХреЗ рд╕рдорд╛рди рд╣реИред
рдореЗрдВ рдирд┐рд░реНрдорд┐рдд
$this->load->view('forms/login_form', $data);
Twig'ovskoe
echo $this->twig->render('forms/login_form.twig', $data);
$data
- рд╕рд╛рд╣рдЪрд░реНрдп рд╕рд░рдгреА
рд╕рдВрдмрдВрдзрд┐рдд рд╕рд╛рдордЧреНрд░реА:
рдЯрд╣рдиреА рдкреНрд░рд▓реЗрдЦрдирдЯрд╣рдиреА рдкрд░реНрдпрд╛рд╡рд░рдг рд╡рд┐рдХрд▓реНрдкрд╕рд┐рдореНрдлрдиреА 1.4 рдореЗрдВ рдЯреНрд╡рд┐рдЧ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рдирдПрдХ рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг