Nesse breve artigo ensinarei a criar a classe controladora de erros no ZF (Zend Framework), vou partir do princípio que quem esteja lendo já tenha seu servidor apache configurado de modo que suporte o uso do ZF, já tenha criado a sua classe Bootstrap e todas as demais classes e diretórios (posteriormente postarei artigos sobre esses assuntos).
A classe controladora de erros (ErrorController) apresentada abaixo será responsável por tratar requisições inválidas e erros do servidor de uma forma mais agradável para o usuário. O ZF possui um processo automático que reconhece quando o sistema deve redirecionar para esse controlador de erro.
Veja abaixo como podemos implementar essa classe de forma bem simples:
class ErrorController extends Zend_Controller_Action
{
public function errorAction() {
$errors = $this->_getParam('error_handler');
switch ($errors->type) {
/* caso o controlador ou action requisitada não exista exibimos a
mensagem de página não encontrada */
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_CONTROLLER:
case Zend_Controller_Plugin_ErrorHandler::EXCEPTION_NO_ACTION:
$this->getResponse()->setHttpResponseCode(404);
$this->view->message = 'Erro 404 - A página solicitada não foi encontrada';
break;
default:
//caso seja erro do servidor ou erro da própria aplicação
$this->getResponse()->setHttpResponseCode(500);
$this->view->message = 'Erro 500 - O sistema encontra-se temporariamente indisponível.
Tente novamente mais tarde.';
break;
}
//Atribuições passadas para a view
$this->view->env = $this->getInvokeArg('env');
$this->view->exception = $errors->exception;
$this->view->request = $errors->request;
}
}
Home |
Sobre |
Serviços |
Portifolio |
Contatos
Copyright © 2010 - Niury Martins