Blog

Controlador de erros com o Zend Framework

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; } }
Postado em 09/03/2010 22:44:59

Home | Sobre | Serviços | Portifolio | Contatos
Copyright © 2010 - Niury Martins

Valid XHTML 1.0 Strict CSS válido!