Содержание
<perform>
Описание
<perform> тег позволяет шаблонам самостоятельно вызывать любые методы с любым набором параметров специальных классов, которые пока условно имеют название «шаблонных команд».
Использование тега <perform> и «шаблонных команд» позволяет выделить в объектную формы любой код, который каким-либо образом модифицирует состояние шаблона на этапе выполнения. По сути это позволяет добиться неких аналогов того, что есть в Prado.
см. также раздел "Шаблонные команды", где есть подробное описание как используется <perform> тег и что такое шаблонные команды.
<perform> тег является WactRuntimeComponentTag и создает активный компонент класса WactPerformComponent.
Синтаксис
<perform command='command_class_name_or_path' [method='method_name'] [include='file_to_include']/>
Область применения
В любом месте WACT шаблона.
Атрибуты
- command - путь до класса или просто имя класса, наследника от WactTemplateCommand. Если указано только имя класса - то класс должен быть включен (определен) до активации шаблона или должна быть возможность получить расположение класса при помощи __autoload(). Иначе следует использовать укороченный путь до класса, например, src/template/command/MyTemplateCommand, если путь до папки, где находится src/template/command/ находится в php include_path.
- method - указывает название метода, который должен быть вызван. По-умолчанию равно «perform», что приводит к вызову метода doPerform. Если, например, указан method='other_perform', то будет вызван метод doOtherPerform()
* include (опционально) - путь до файла с классов команды, которую необходимо выполнить.
Содержимое
Дочерний тег <perform:params>, если необходимо передать параметры в вызываемый метод шаблонной команды.
Пример использования
<perform command='src/template/command/MyTemplateCommand' method='other_perform'> <perform:params param1='Value1' param2='Value2'/> </perform>
см. также раздел "Шаблонные команды", где есть пример создания шаблонной команды и вызов ее методов из шаблона при помощи тегов <perform> и <perform:params>.

Обсуждение