Эти методы отправки являются частью системы плагина Zend_Controller. Вы можете думать о них как о крючках.
В вашей начальной загрузке вы можете зарегистрировать плагины, которые выполняются во время одного или нескольких из этих событий. Например, если вы зарегистрируете плагин в Bootstrap, который содержит метод routeShutdown
, Zend Framework выполнит этот метод routeShutdown вашего плагина во время routeShutdown.
Плагины могут быть запущены во время # 8-12 и # 26-28. Zend_Controller_Action также имеет методы pre / postDispatch (# 17 и # 22), которые вы можете использовать непосредственно в вашем контроллере, которые будут безоговорочно выполняться для каждого действия в этом контроллере.
Можно зарегистрировать плагины для различных событий в зависимости от того, где вы хотите, чтобы произошла определенная логика. Например, вы можете создать плагин для проверки, посещает ли пользователь сайт по https; и вы хотели бы, чтобы это выполнялось до того, как произойдет какая-либо логика приложения (контроллеры / действия), поэтому не имеет смысла проверять наличие https в postDispatch, потому что действие контроллера уже выполнило всю его логику и отразило выходные данные. Вместо этого вы хотели бы использовать routeShutdown
, поскольку в этот момент модуль, контроллер и действие известны с момента маршрутизации.
В одном из моих приложений у меня есть плагин, который отображает, сколько запросов было выполнено, и примерно сколько времени потребовалось для генерации страницы с момента вызова index.php, поэтому у меня этот плагин последний раз запускался в dispatchLoopShutdown
, так как запрос почти завершен. Оттуда я могу получить доступ к телу HTML, которое будет возвращено с ответом, и манипулировать им, чтобы включить информацию профиля.
Основы Zend Controller и Ссылки Dispatcher также должны помочь в дополнение к ссылкам plugins выше.
Надеюсь, это немного прояснило для вас.