====== Плюсы и минусы MACRO шаблонизатора ====== Так как MACRO является в некоторой степени "наследником" WACT-а, мы позволили себе перенести сюда большинство плюсов последнего, а также добавить некоторые, которые характерные именно для MACRO. ===== Плюсы MACRO ===== * MACRO содержит мощные средства для **компоновки** шаблонов: обворачивание, включение, множественное обворачивание, переиспользование в рамках одного и того же шаблона. Мы не знаем ни одного другого шаблонизатора, который может позволить подобные вещи. * MACRO содержит очень небольшой набор правил своего использования. Внутри MACRO-а можно легко использовать обычные **php-вставки**. По сути MACRO не накладывает на разработчика каких-либо ограничений, то есть вы можете или пользоваться средствами MACRO в шаблонах или нет. Мы постарались найти оптимальный баланс между конструкциями шаблонизатора и легкостью использования чистого php в шаблонах. * MACRO **компилируемый шаблонизатор**, где код первоначального шаблона сначала переводится в готовый к запуску php-скрипт, как например, это происходит в Smarty. Причем шаблон компилируется целиком, поэтому **композиция** (разбиение шаблона на части, обворачивание ит.д. ) никак **не влияет на скорость** исполнения шаблона, так как он собирается в одно целое при компиляции, от отличие, например, от Smarty. * Компиляция и достаточно чистый php-код откомпилированного шаблона делает MACRO весьма **быстрым шаблонизатором**. По сути, на выходе выполняется откомпилированная версия php шаблона, поэтому падения производительности не происходит вообще. Другими словами, у разработчиков собственных тегов MACRO всегда есть возможность написать более оптимальный вариант генерации php кода. * MACRO - **расширяемый шаблонизатор**. Можно легко добавлять свои теги и фильтры, создавать целые пакеты со своими тегами или фильтрами. * Механизмы поиска шаблонов и система настроек выполнена в виде набора интерфейсов и базовых классов. В простом случае возможностей базовой реализации будет вполне достаточно. Однако при необходомости, можно будет легко внедрить, например, кеширование шаблонов, в зависимости от языка, поиск тегов в каких-то определенных папках, сменить схему хранения шаблонов и т.д. В плане настроек MACRO - **очень гибок**. * MACRO хорошо подходит **для верстальщиков**, так как позволяет легко огранизовать вывод списков, вывод пейджера, оформление форм и списков ошибок валидации, включение другого шаблона и т.д. Кроме этого, композиция шаблонов полностью может быть отдана на откуп верстальщику, он может выделять общие части как ему будет угодно - программист для этой работы не нужен. ===== Минусы MACRO ===== * У вас есть варианты? ;) Если есть, [[http://forum.limb-project.com/|пишите в форум]], обсудим.