News Feed
Jobs Feed
Sections




News Archive
Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

Fabien Potencier's Blog:
Create your own framework... on top of the Symfony2 Components (part 11)
January 24, 2012 @ 11:04:44

In part eleven of his "Build a Framework on top of Symfony2", Fabien Potencier improves on his earlier versions of the code by adding in the HttpKernel support for handling events and errors that might come up in the application.

If you were to use our framework right now, you would probably have to add support for custom error messages. Right now, we have 404 and 500 error support but the responses are hardcoded in the framework itself. Making them customizable is easy enough though: dispatch a new event and listen to it. Doing it right means that the listener has to call a regular controller. But what if the error controller throws an exception? You will end up in an infinite loop. There should be an easier way, right?

Using the "RouterListener" functionality, he sets up an "ExceptionListener" and points that to an error handling controller with its own "exceptionAction". This action takes the exception information and displays a "Something went wrong!" message along with the details. He also includes an update to the Response handling to allow for returning a string back from the controller instead of a Response object.

0 comments voice your opinion now!
symfony2 framework component custom tutorial series


blog comments powered by Disqus

Similar Posts

The Bakery: Ten New Tutorials/Components/Releases Posted

MaltBlue.com: Use RouteMatch in Zend Framework 2 For Easy Routing

DevShed: The Switch Statement and Arrays

Francois Zaninotto: Node.js for PHP Developers Series

DevShed: Working with Strings and the Composite Pattern in PHP 5


Community Events











Don't see your event here?
Let us know!


example security introduction podcast code facebook component overview install hack unittest framework symfony2 composer opinion language release hhvm application package

All content copyright, 2014 PHPDeveloper.org :: info@phpdeveloper.org - Powered by the Solar PHP Framework