Оказывается, третьего дня, то есть 17 октября сего года, вышел альфа-релиз многими любимого (и многими же презираемого) шаблонизатора Smarty.
Интерфейс шаблонизатора особо не изменился. Это всё те же
Внутренности же претерпели более существенные изменения:
Надо сказать, что по сравению с веткой 2.x, дистрибутив значительно потолстел: папка
Настораживает также отсутствие юнит-тестов (в версии 2.6.20 они были, хоть и чертовски подозрительного качества). Но посмотреть в деле будет интересно. Пожалуй, нужно будет заняться :)
Подробности о релизе — в официальном README.
Желающие могут вытащить версию из SVN:
Интерфейс шаблонизатора особо не изменился. Это всё те же
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