Делегаты
Делегаты позволяют разработчикам управлять входными и выходными данными, а так же управлять различными задачами при генерации внутренних и пользовательских страниц проекта.
Обзор
Делегаты представляют собой функции ядра Symphony, которые позволяют разработчикам расширений влиять на генерацию внешних и внутренних страниц системы. Как правило, делегаты используются в контексте PHP объектов (объектов страниц или событий), таким образом разработчик может передавать и получать данные при работе с делегатами.
Использование
Расширения могут подписываться на делегаты системы при помощи объявления функции getSubscribedDelegates() в файле extension.driver.php, как показано ниже:
public function getSubscribedDelegates(){ return array( array( ’page’ => ’/delegatepage/’, ’delegate’ => ’DelegateName’, ’callback’ => ’extensionFunction’ ), ); }
Функция getSubscribedDelegates() должна вернуть массив подписки, каждый массив представляет собой три пары ключ/значение: страница, делегат и обратный вызов. Первые два значения определяются сам делегат (см. список ниже). Последнее значение является именем функции обратного вызова, предоставляемой расширением.
Для получения дополнительной информации о делегатах смотрите документацию.