The first part of this article demonstrated basic errorhandling in PHP, explaining the various error types and illustrating theprocess of building a custom error handler. But that's just the tip ofthe iceberg - this concluding part goes a step further, showing you totrigger your own errors, and log error messages to a file, database oremail address.
If you're not a big fan of rolling your own code, you might find it instructive and useful to download the free, open-source ErrorHandler class from http://www.phpclasses.org/browse.html/package/345. Created by Gyozo Papp, this PHP class is a robust, full-featured error handler that can easily be integrated into your application code.
The ErrorHandler class comes with some very interesting features: the ability to dump errors to a separate console window so that your primary interface is not disrupted, to include in that error report the source code which caused the error, and to append customized error messages or variable context to the error report. Obviously, it also supports error logging (to a file, an email message, the system logger, or all three) and can catch and replace PHP's error messages with a user-defined error template.
Here's a small example of how it works - take a look at the manual included with the class for more examples and information.
report_layout('LOGGING', FILE_LOG, 'error.log');
// don't display symbol table
$error->report_layout('CONTEXT', FALSE);
// uncomment this to hide errors and display a customized error template
// $error->set_silent(TRUE);
// $error->set_silent("error.html");
// generate some errors
include('non.existent.file');
mysql_connect("localhost", "baduser", "badpassword");
?>