У меня нет под рукой инструментов для рисования, но вы должны рассматривать рендеринг как улицу с двусторонним движением ... Сначала вызывается фильтр rendering
. Это делает «некоторые вещи», а затем вызывает функцию, которая выполняет фильтр security
. В этом фильтре проверяется ваша авторизация, если не все в порядке, запрос перенаправляется и стек фильтров вызывается снова, если авторизация в порядке, вызывается следующий фильтр в цепочке. Фильтр кэша возвращает страницу из стека, если она действительна, в противном случае запускается фильтр выполнения.
Затем, когда запустился фильтр выполнения, фильтр кеша (который назывался фильтром выполнения) теперь содержит текущие исполняемые данные и сохраняет их в кеше, затем для последней части запускается фильтр безопасности и т. Д.
Итак, типичная реализация фильтра выглядит следующим образом:
public function execute($filterChain)
{
doSomething();
// Code that is called before execution.
// Runs all down stream filters
$filterChain->execute();
doSomethingElse();
// Code that is called after execution.
}
Итак, вы хотите вести статистику после выполнения, в части doSomethingElse()
.