Pull to refresh

Вышел alpha-релиз Smarty 3

Reading time 2 min
Views 1.1K
Оказывается, третьего дня, то есть 17 октября сего года, вышел альфа-релиз многими любимого (и многими же презираемого) шаблонизатора Smarty.

Интерфейс шаблонизатора особо не изменился. Это всё те же display(), fetch() и assign(), которые покрывают процентов 99 всех потребностей. Монструознное assign_by_ref() почило в бозе. Туда ему и дорога ;)

Внутренности же претерпели более существенные изменения:

  • Отказ от поддержки PHP4 и полное использование объектно-ориентированных возможностей PHP5. То есть в шаблонах можно использовать разыменования объектов без костылей;
  • Объектно-ориентированный подход затронул и плагины: теперь каждый плагин является классом, отнаследованным от Smarty_Internal_PluginBase
  • Файл основного класса — Smarty.class.php — стал подозрительно маленьким: всего 11 кб, включая здоровенные спойлеры лицензии LGPL ;)
  • Все требуемые элементы, исключённые из ядра, подгружаются лишь по мере необходимости (lazy loading)
  • Маленькая приятность — встроенная реализация паттерна singleton.
  • Поддержка нативных PHP-шаблонов — особенность, которая наверняка породит множества холиваров. Будет интересно посмотреть, во что выльется, однако от себя могу сказать, что я этой фичей пользоваться не буду)


Надо сказать, что по сравению с веткой 2.x, дистрибутив значительно потолстел: папка libs, экспортированная из SVN, заняла немногим менее 800 кб, в то время как в версии 2.6.20 её вес был был порядка 320 кб.

Настораживает также отсутствие юнит-тестов (в версии 2.6.20 они были, хоть и чертовски подозрительного качества). Но посмотреть в деле будет интересно. Пожалуй, нужно будет заняться :)

Подробности о релизе — в официальном README.

Желающие могут вытащить версию из SVN:
svn checkout smarty-php.googlecode.com/svn/branches/Smarty3Alpha
Tags:
Hubs:
+40
Comments 138
Comments Comments 138

Articles