Посоветуйте плз шаблонизатор нужен: маленький и быстрый функционала особо не надо - назначение переменных и {if} блоки. Главный упор на скорость или подскажите статью какую то хорошую где описывается как написать свой шаблонизатор
что бы не создавать новой тему помогите разобраться в нем: $template = $twig->loadTemplate('header.tpl'); $template->render($lang); $template->display(array()); // почему ему нужно передавать массив? с какими значениями? этот метод под каждым $twig->loadTemplate вызывать? дальше есть у меня языковой массив $lang, как его передать в шаблонизатор? Если делать так $template->display($lang); ошибок не выскакивает но при этом он и не передает значения
не так там и много написано, не подскажите как с него сингелтон сделать? а то там столько классво и интерфейсов
я хуею, дорогая редакция (с) сделай класс `myTemplate`, в нем `static protected $twigInstance` и `protected $data`. Сделай метод `assign($key, $data)`
Дык его и не надо делать. Шаблон - html + php. Главное не разделить логику и представление. Какая разница, писать "<?php" или "{"? А такая, что файлы с php-кодом можно просто инклудить, что будет намного быстрее парсинга. Можно сделать обертку типа http://www.php.ru/forum/viewtopic.php?p=201089#201089 можно вообще в каждом контроллере свою шаблонизацию делать.
парсинг делается только один раз, потом такой же самый инклюд происходит, сколько раз вам еще это повторять?
делаешь так: PHP: <?php $template = $twig->loadTemplate(нужный_дочерний_шаблон); // остальные шаблоны подтягиваешь через {%extends %} и {% include %} $temlate->display(array('lang' => $lang)); // и в шаблоне будут доступны переменные {{ lang.var }} ?> А вообще в твиге 0.6.7 появился экстеншн Trans для мультиязычности
тысячи программ в линуксах переведены используя "только геттекст". Кроме того, никто не мешает написать свой экстеншн с тем же интерфейсом и выложить. Contribute, or GTFO из опенсорса!