CodeIgniter - Tratamento de Erros

Muitas vezes, ao usar o aplicativo, encontramos erros. É muito irritante para os usuários se os erros não são tratados adequadamente. O CodeIgniter fornece um mecanismo fácil de tratamento de erros.

Você gostaria que as mensagens fossem exibidas quando o aplicativo estiver no modo de desenvolvimento em vez de no modo de produção, pois as mensagens de erro podem ser resolvidas facilmente no estágio de desenvolvimento.

O ambiente de seu aplicativo pode ser alterado, alterando a linha fornecida abaixo de index.phpArquivo. Isso pode ser definido como qualquer coisa, mas normalmente existem três valores (desenvolvimento, teste, produção) usados ​​para essa finalidade.

define('ENVIRONMENT', isset($_SERVER['CI_ENV']) ? $_SERVER['CI_ENV'] : 'development');

Ambientes diferentes exigirão níveis diferentes de relatório de erros. Por padrão, o modo de desenvolvimento exibirá erros e testes e o modo ao vivo irá ocultá-los. O CodeIgniter fornece três funções, conforme mostrado a seguir, para lidar com erros.

  • show_error() A função exibe erros no formato HTML na parte superior da tela.

Syntax

show_error ( $ message, $ status_code, $ header = 'Um erro foi encontrado' )

Parameters

  • $message( misto ) - mensagem de erro

  • $status_code( int ) - código de status de resposta HTTP

  • $heading( string ) - título da página de erro

Return Type

misturado
  • show_404() A função exibe erro se você está tentando acessar uma página que não existe.

Syntax

show_404 ( $ page = '', $ log_error = TRUE )

Parameters

  • $page( string ) - string URI

  • $log_error( bool ) - se deve registrar o erro

Return Type

vazio
  • log_message()função é usada para escrever mensagens de log. Isso é útil quando você deseja escrever mensagens personalizadas.

Syntax

log_message ( $ level, $ message, $ php_error = FALSE )

Parameters

  • $level( string ) - Nível de log: 'erro', 'depuração' ou 'informação'

  • $message( string ) - Mensagem para registrar

  • $php_error( bool ) - se estamos registrando uma mensagem de erro PHP nativa

Return Type

vazio

O registro pode ser habilitado em application/config/config.phpArquivo. A seguir está a captura de tela do arquivo config.php, onde você pode definir o valor limite.

/*
|--------------------------------------------------------------------------------
|   Error Logging Threshold
|--------------------------------------------------------------------------------
| You can enable error logging by setting a threshold over zero. The 
| threshold determines what gets logged. Threshold options are:
|
|   0 = Disable logging, Error logging TURNED OFF
|   1 = Error Message (including PHP errors)
|   2 = Debug Message
|   3 = Informational Messages
|   4 = All Messages
|
| You can also pass an array with threshold levels to show individual error types
|
|   array(2) = Debug Message, without Error Messages
| For a live site you'll usually only enable Errors (1) to be logged otherwise 
| your log files will fill up very fast.
|
*/
$config['log_threshold'] = 0;

Você pode encontrar as mensagens de log em application/log/. Certifique-se de que este diretório seja gravável antes de ativar os arquivos de log.

Vários modelos para mensagens de erro podem ser encontrados em application/views/errors/cli ou application/views/errors/html.