Muitos já devem ter visto as clássicas frases: “Missing Controller”, “Missing Model”, e por aí vai. Você sabe o que significa, mas será que seus clientes ou usuários sabem o que isso quer dizer? E será que sabem que isso é uma mensagem de erro?
Bem, para alterar essas telas de erro, basta criar alguns arquivos de view e colocá-los na pasta app\views\errors. Cada um tem um nome específico, são eles:
- error404.ctp – Quando não é encontrado algum arquivo ou é lançado propositalmente um erro de não encontrado por um controller;
- missing_controller.ctp – Quando está faltando um controller;
- missing_action.ctp – Você digitou no navegador uma url que exista o controller, mas não a action nele. Exemplo: http://site/usuarios/acesso. No caso existe o controller UsuariosController, mas ele não tenha o método acesso;
- private_action.ctp – Quando há o método no seu controller, mas ele é privado. Isso pode ser de duas maneiras, ou ele é privado pelo PHP 5 ou ele começa com _ ou __;
- missing_component_file.ctp – Quando um controller tentou usar um component e este não exista fisicamente;
- missing_component_class.ctp – Quando o arquivo de component existe, mas não contém a classe do component. Exemplo: você incluiu no seu controller o component‘Xxx’, existe o arquivo app\controllers\components\xxx.php, mas dentro dele há uma outra classe ou está vazio;
- missing_view.ctp – Quando está faltando um arquivo de view (correspondente ao action do controller);
- missing_layout.ctp – Quando está faltando um layout escolhido (incluindo o padrão);
- missing_helper_file.ctp – Mesmo caso da falta de arquivo de component, mas para helper;
- missing_helper_class.ctp – Mesmo caso da falta de classe de component, mas para helper;
- missing_model.ctp – Faltando arquivo ou classe de model;
- missing_table.ctp – Quando uma tabela não foi encontrada no banco de dados;
- missing_connection.ctp – Quando não foi possível conectar no banco de dados;
- missing_scaffolddb.ctp – Quando um scaffolding falha a conexão com banco de dados;
- scaffold_error.ctp – Quando o método _scaffoldError não foi encontrado no seu controller.
Lembrando que todos os erros vem dentro do layout padrão.
Abraços e espero que não ocorram erros nos seus programas.