Sniper PT 0 Denunciar post Postado Outubro 2, 2008 Gostaria de saber em quanto tempo foi processado as páginas do meu site, de forma a saber quando algo "está mal" ou podia estar melhor :) . Algo do género, "Página processada em x segundos". Estive a ler o manual e para fazer o que desejo a melhor maneira poderá ser criando um plugin no Zend_Controller. Alguém me poderia ajudar com isto? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
Sniper PT 0 Denunciar post Postado Outubro 3, 2008 Já consegui. Também foi simples, mas fica aqui a explicação para quem desejar. Basicamente criei um plugin :) class benchmarkPlugin extends Zend_Controller_Plugin_Abstract { public function preDispatch(Zend_Controller_Request_Abstract $request) { $this->startTime = microtime(true); } public function postDispatch(Zend_Controller_Request_Abstract $request) { $stopTime = microtime(true) - $this->startTime; $this->getResponse()->appendBody($stopTime); } }o código é simples de interpretar, no entanto estava a obter um erro/warning do ZF (embora apresenta-se o resultado), isto deveu-se ao não estar a incluir nos parâmetros da função Zend_Controller_Request_Abstract $request. Isto é um requerimento do ZF, pois tanto a função preDispatch e postDispatch fazem parte do funcionamento do ZF, sendo uma chamada antes do processamento e a outra depois. Pelo que li, apenas a função dispatchLoopShutdown() é que não necessita destes parâmetros. Quanto à parte onde tá $this->getResponse()->appendBodyÉ uma maneira mais correcta de fazer "echo" :) Nota: Caso estejam a usar o Zend_Layout (MVC), e queiram apresentar mesmo no fundo da página, usem public function dispatchLoopShutdown()em vez de public function postDispatch(Zend_Controller_Request_Abstract $request) Mais informações: Zend Controller - Plugins Microtime Front Controller Plugins in Zend Framework [Artigo] Compartilhar este post Link para o post Compartilhar em outros sites