Минималистичный шаблонизатор PHP с кешированием, но не Smarty? - PullRequest
3 голосов
/ 03 апреля 2010

Существует множество вопросов для "правильного" движка шаблонов PHP, но ни один из них не ориентирован на кэширование.

Кто-нибудь знает легкий, высококачественный движок шаблонов на основе PHP 5, который делает из коробки следующее:

  • Шаблонные функции низкого уровня (Замены, циклы и фильтрация, возможно, условные выражения)

  • Кэширование проанализированных результатов с возможностью установки индивидуального TTL для каждого элемента и, конечно, для принудительной перезагрузки программным путем

  • Чрезвычайно простое использование (как у Smarty)

  • Скромный в загрязнении пространства имен (идеальным решением был бы один класс для взаимодействия из внешнего приложения)

Но не Smarty . Я ничего не имею против и часто использую Smarty, но я ищу что-то более простое и изящное.

Я посмотрел на Twig Фабьена Потенциера, который выглядит очень красиво и компилирует шаблоны в код PHP, но он не выполняет никакого реального кеширования.

Мне нужны и хочу механизм шаблонов, так как мне нужно полностью разделить код и представление таким образом, чтобы HTML-дизайнер мог понять их позже, поэтому, пожалуйста, не обсуждайте фундаментальные обсуждения имеют ли смысл шаблоны движков в PHP. Эти обсуждения важны, но есть конкретные вопросы по этому вопросу.

1 Ответ

2 голосов
/ 04 апреля 2010

Шаблонный движок с кешированием

  • Чтобы ответить на ваш вопрос, я не знаю, шаблон, который поддерживает все ваши требования. Надеюсь, кто-то еще может помочь вам с этим. Но после небольшого поиска я нашел TinyButStrong . На сайте они упоминают, что он имеет cache system. Я не могу найти, какой тип кэширования они реализуют (диск / память / база данных). Это должно кэшировать в памяти для действительно ускорений).

Реализация кэширования самостоятельно

  • Я считаю, что Twig довольно солидный шаблон enine и что вы можете реализовать кэширование поверх этого легко.
  • Просто кэшируйте его в APC . когда хранение положить TTL (время жизни) на это. Тогда попробуйте получить это из кеша.
  • Полагаю, у вас уже есть БТР установлен, если вы обеспокоены производительность (кеширование). Тогда Первое, что вы должны установить для производительность APC (A must , поскольку он также хранит скомпилированные файлы PHP в памяти. Это означает, что не нужно каждый раз перекомпилировать) Если вы не можете установить APC, то, возможно, вы могли бы проверить Cache-Lite . Мне очень понравился этот пакет груши за его простоту / хорошую документацию.
...