CodeIgniter 2 рдореЗрдВ Twig рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди

CodeIgniter рд▓реЛрдЧреЛрдЯрд╣рдиреА рдХрд╛ рд▓реЛрдЧреЛ
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 рдореЗрдВ рдЯреНрд╡рд┐рдЧ рдЗрдВрдЯреАрдЧреНрд░реЗрд╢рди
рдПрдХ рддреИрдпрд╛рд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг

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


All Articles