Invizz
Новичок
Управление из шаблона
Хотелось бы узнать мнение знающей публики насчет моего решения. Я не хотел бы сталкиваться с проблемами, которые кто-то возможно уже давно решил и все такое (читай: изобратать велосипед).
Есть движок, в нем скорость очень важна. Имеется шаблонизатор небольшой, который парсит шаблоны, преобразует в PHP-код, кеширует в файлах.
К примеру, данный шаблон:
преобразуется в:
То есть, шаблонизатор смотрит, какие переменные
используются в цикле и забирает только их.
Это сделано потому, что на каждое из полей накладываются
различные фильтры, типа fix-html, которые сами по себе
ресурсоёмки.
Возможно, это экономия на спичках, но я люблю экономить
Итак, резюмирую свои вопросы:
1) Нормально ли преобразовывать шаблоны в пхп-код?
2) Как синхронизировать "source" шаблоны и "compiled" шаблоны? Можно ли положиться на 'modified time' ?
3) Нормально ли анализировать шаблоны на предмет какие данные используются, чтобы забирать только их, а не подготавливать массивы с данными заранее?
4) С какими трудностями я могу столкнуться в дальнейшем при выбранной методике?
Хотелось бы узнать мнение знающей публики насчет моего решения. Я не хотел бы сталкиваться с проблемами, которые кто-то возможно уже давно решил и все такое (читай: изобратать велосипед).
Есть движок, в нем скорость очень важна. Имеется шаблонизатор небольшой, который парсит шаблоны, преобразует в PHP-код, кеширует в файлах.
К примеру, данный шаблон:
PHP:
{loop section="articles" limit="10"}
<h1>{title}</h1>
<div>{body}</div>
{/loop}
PHP:
$articles = get_content(
array(
'section' => 'articles',
'limit' => '10'
),
array('title', 'body') //вычисляется автоматически
);
$articles_count = count($articles);
for ($i = 0; $i < $articles_count; $i++) {
echo "<h1>";
echo $articles['title'];
echo "</h1><div>";
echo $articles['body'];
echo "</div>";
}
используются в цикле и забирает только их.
Это сделано потому, что на каждое из полей накладываются
различные фильтры, типа fix-html, которые сами по себе
ресурсоёмки.
Возможно, это экономия на спичках, но я люблю экономить

Итак, резюмирую свои вопросы:
1) Нормально ли преобразовывать шаблоны в пхп-код?
2) Как синхронизировать "source" шаблоны и "compiled" шаблоны? Можно ли положиться на 'modified time' ?
3) Нормально ли анализировать шаблоны на предмет какие данные используются, чтобы забирать только их, а не подготавливать массивы с данными заранее?
4) С какими трудностями я могу столкнуться в дальнейшем при выбранной методике?