FuelPHP - Tratamento e depuração de erros
FuelPHP fornece um excelente suporte para lidar com erros e depurar o aplicativo. Vamos entender o tratamento de erros e a depuração neste capítulo.
Manipulação de erros
O tratamento de erros do FuelPHP é baseado em exceções. FuelPHP fornece exceção PhpErrorException para todos os erros antigos de php. FuelPHP dispara PhpErrorException sempre que um erro no código PHP é encontrado. O FuelPHP também facilita a exibição de páginas de erro personalizadas para vários códigos de status HTTP.
Erro de arquivo não encontrado
FuelPHP fornece uma nova classe de exceção, HttpNotFoundException, para lidar com as solicitações desconhecidas. Às vezes, podemos encontrar a solicitação que pode não ser atendida. Nesse momento, podemos apenas lançar a HttpNotFoundException.
Por padrão, uma página padrão é configurada para HttpNotFoundException no arquivo de configuração de rotas, fuel / app / config / routes.php usando 400 entradas. Sempre que HttpNotFoundException é gerado, a solicitação será redirecionada para a página 400.
'_404_' => 'welcome/404', // The main 404 route
Erros Internos
FuelPHP fornece uma nova classe de exceção, HttpServerErrorException, para lidar com todos os erros do servidor. Às vezes, podemos não conseguir processar a solicitação fornecida devido a erros internos. Nesse momento, podemos apenas lançar a HttpServerErrorException.
Por padrão, uma página padrão é configurada para HttpServerErrorException no arquivo de configuração de rotas, fuel / app / config / routes.php usando 500 entradas. Sempre que HttpServerErrorException é gerado, a solicitação será redirecionada para a página 500.
'_500_' => 'welcome/500', // The main 500 route
Esta página registrará o erro, mostrará o erro formatado na página e, ocasionalmente, enviará uma notificação ao administrador do sistema.
Erros de violação de acesso
FuelPHP fornece uma nova classe de exceção, HttpNoAccessException, para lidar com as violações de acesso. Às vezes, podemos não conseguir processar a solicitação devido à restrição de acesso. Nesse momento, podemos apenas lançar a HttpNoAccessException.
Por padrão, uma página padrão é configurada para HttpNoAccessException no arquivo de configuração de rotas, fuel / app / config / routes.php usando a entrada 403. Sempre que HttpNoAccessException é gerado, a solicitação será redirecionada para a página 403.
'_403_' => 'welcome/403', // The main 403 route
Esta página mostrará as informações de violação de acesso.
Depurando
A depuração é uma das atividades mais frequentes no desenvolvimento de um aplicativo. FuelPHP fornece uma classe simples,Debugpara lidar com a atividade de depuração do aplicativo. Vamos aprender a classe Debug e seus métodos neste capítulo.
Classe de depuração
A classe Debug fornece métodos utilitários para mostrar informações detalhadas de variáveis, objetos, array, etc. A classe Debug fornece os seguintes métodos,
despejar
O método de despejo retorna vários valores mistos para o navegador de uma forma estruturada e formatada.
Debug::dump($var1, $var2);
backtrace ()
backtrace mostra as informações detalhadas sobre a execução atual do código. Ele mostra as informações do arquivo PHP, a linha atual e todas as suas ações anteriores.
Debug::backtrace();
Aulas()
Retorna uma lista de todas as classes.
Debug::classes();
interfaces ()
Retorna uma lista de todas as classes de interface.
Debug::interfaces();
inclui ()
Retorna uma lista de todos os arquivos incluídos atualmente carregados no tempo de execução.
Debug::includes();
funções()
Retorna uma lista de todas as funções.
Debug::functions();
constantes ()
Retorna uma lista de todas as constantes.
Debug::constants();
extensões ()
Retorna uma lista de todas as extensões.
Debug::extensions();
cabeçalhos ()
Retorna uma lista de todos os cabeçalhos HTTP.
Debug::headers();
phpini ()
Imprime uma lista das definições de configuração lidas do arquivo php.ini.
Debug::phpini();