Релиз WACT шаблонизатора

syfisher

TDD infected!!
Релиз WACT шаблонизатора

Многие из вас должно быть слышали про такой проект, как WACT. Долгое время он был для нас (разработчиков Limb framework) ориентиром, на который можно было равняться. Однако уже достаточно долгое время этот проект не развивается. WACT содержал множество очень неплохих решений, в частности, валидация данных, DBAL, события и самое главное - уникальную для PHP шаблонную систему. Некоторое время назад была предпринята попытка возобновить развитие проекта основными разработчиками, но процесс все равно затормозился.

Мы решили не дать хорошему коду уйти в забвение и сделали свои копии (forks) наиболее удачных решений, в частности, шаблонизатора. Несколько месяцев назад мы создавали тему насчет шаблонизатора WACT с тем чтобы привлечь разработчиков к созданию законченного продукта, однако идея практически никого не заинтересовала - возможно, по причине обилия шаблонизаторов, архитектурной сложности WACT-а или ввиду отсутствия внятной документации, а может быть потому, что активных пользователей этого framework-а, кроме нас и не было. Как бы то ни было, шаблонизатор WACT нами был доведен до состояния готовности к использованию.

Что из себя представляет шаблонизатор WACT (далее просто WACT)? Это компилируемый шаблонизатор, наподобие Smarty, где начальный шаблон компилируется в PHP-код, который потом выполняется. Основное отличие и преимущества WACT над Smarty в этом вопросе заключается в том, что WACT компилирует шаблон целиком, неважно из каких частей он бы не состоял. Поэтому разбиение шаблона на части при использовании WACT на скорости никак не сказывается. Плюс к этому WACT генерит более простой PHP-код.

Какие плюсы WACT-а можно также назвать:
- Мощные средства компоновки шаблонов - включение, обворачивание, множественное обворачивание, когда различные части кода какого-либо шаблона вставляются в карманы базовых шаблонов.
- Расширяемость - набор тегов и фильтров можно легко расширять, создавать свои пакеты с расширениями и использовать повторно во многих проектах.
- Простой и выразительный синтаксис шаблонов, быстрое обучение верстальщиков, широкий набор базовых тегов и фильтров, возможность использования обычных PHP-вставок.
- WACT-компонентный шаблонизатор. Это значит, что некоторые элементы шаблона после компиляции - это объекты, с которыми можно работать через определенное API. На практике это позволяет значительно облегчить работу с элементами форм, в частности, сохранять значения в полях при ошибках валидации. При этом практически никаких изменений в обычный html-шаблон с элементами форм вносить не требуется.
- Гибкий механизм поиска шаблонов и система настроек, которые могут быть переданы в шаблон в виде стратегий. Это значит, что можно легко сделать, например, уникальные шаблоны для разных языков, "шкурки" и т.д.
- Широкие возможности по манипуляции данными внутри шаблонов: передача из одного контекста в другой, отображение данных из произвольного контекста и т.д. WACT полностью поддерживает работу с итераторами, причем значительно облегчает вывод мультиколоночных данных и разбиение списков на страницы.

Подробнее про WACT можно узнать по этому адресу:

http://wiki.limb-project.com/doku.php?id=limb:ru:3_x:usage:wact

Мы постарались реабилитироваться после многочисленной критики насчет отсутствия внятной документации. Сейчас документация, в частности, на WACT - очень подробная, и ее должно хватить большинству пользователей.

Примеры WACT-шаблонов можно посмотреть в документации или же этим адресам:

- http://examples.limb-project.com/wact - это примеры использования базовых тегов и фильтров WACT-а.
- http://examples.limb-project.com/shop - это законченное приложение на базе Limb3. Но в правой части любой страницы есть ссылка на исходник WACT-шаблона.

В настоящий момент доступна версия WACT 0.3.1. WACT пакет не имеет никаких зависимостей от остальных пакетов Limb3.

Скачать более или менее стабильный релиз WACT пакета пока можно с PEAR-канала Limb:

Код:
$ pear channel-discover pear.limb-project.com
$ pear install limb/wact-alpha
можно также попробовать скачать удачный ночной билд со http://snaps.limb-project.com

Надеемся, что вы возьмете WACT на заметку и попробуете его в своих проектах. Если WACT вас заинтересует - мы приглашаем вас к обсуждению на нашем форуме http://forum.limb-project.com
 

Андрейка

Senior pomidor developer
- http://examples.limb-project.com/wact - это примеры использования базовых тегов и фильтров WACT-а.

а можно там сцылки пофиксить?
 
Сверху