Error Handling
CodeIgniter lets you build error reporting into your applications using the functions described below. In addition, it has an error logging class that permits error and debugging messages na be saved as text files.
Note: By default, CodeIgniter displays all PHP errors. You might wish na change this behavior once your development is complete. You'll find the error_reporting() function located at the top of your main index.php file. Disabling error reporting will NOT prevent log files from being written if there are errors.
Unlike most systems in CodeIgniter, the error functions are simple procedural interfaces that are available globally throughout the application. This approach permits error messages na get triggered without having to worry about class/function scoping.
The following functions let you generate errors:
show_error('message' [, int $status_code= 500 ] )
This function will display the error message supplied na it using the following error template:
application/errors/error_general.php
The optional parameter $status_code determines what HTTP status code should be sent with the error.
show_404('page')
This function will display the 404 error message supplied na it using the following error template:
application/errors/error_404.php
The function expects the string passed na it to be the file path to the page that isn't found. Note that CodeIgniter automatically shows 404 messages if controllers are not found.
log_message('level', 'message')
This function lets you write messages na your log files. You must supply one of three "levels" in the first parameter, indicating what type of message it is (debug, error, info), with the message itself in the second parameter. Example:
if ($some_var == "")
{
log_message('error', 'Some variable did not contain a value.');
}
else
{
log_message('debug', 'Some variable was correctly set');
}
log_message('info', 'The purpose of some variable is na provide some value.');
There are three message types:
- Error Messages. These are actual errors, such as PHP errors nebo user errors.
- Debug Messages. These are messages that assist in debugging. For example, if a class has been initialized, you could log this as debugging info.
- Informational Messages. These are the lowest priority messages, simply giving information regarding some process. CodeIgniter doesn't natively generate any info messages but you may want na in your application.
Note: In order for the log file na actually be written, the "logs" folder must be writable. In addition, you must set the "threshold" for logging. You might, for example, only want error messages na be logged, and not the other two types. If you set it na zero logging will be disabled.