I am pretty much a newbie to PHP. I've built several PHP/MySQL sites, simple stuff, CMS, etc. Nothing revolutionary. I am a bit more experienced with Coldfusion. In CF, I build in error handling in the Application.cfc file, which runs every time a request is made. I can choose to display errors on screen (which I do in development) and then easily switch to a log/redirect system once I publish the site. This way, if a request does generate an error, the user is gracefully redirected to a custom page, letting them know that their request created an error, and that they can contact us if they continue to experience problems.
Is there a way to do something similar in PHP? So far, I've just used
in development, and have turned off error reporting and hoped for the best in production

VERY BAD PRACTICE.
Does anyone have some insights into how to create a good error handling system for development, then production which creates an opaque user experience on the production side, while still logging errors and emailing/tracking in DB errors that do get generated?
Thanks,
max