News 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 12)
January 25, 2012 @ 08:36:48

In this final post of his series about building a framework on Symfony2 components, Fabien Potencier focuses again on flexibility - allowing you to have more than one front controller with different configurations thanks to dependency injections.

Does it means that we have to make a choice between flexibility, customization, ease of testing and not having to copy and paste the same code into each application front controller? As you might expect, there is a solution. We can solve all these issues and some more by using the Symfony2 dependency injection container.

The Symfony2 DIC (DependencyInjection) allows you to create a container with the objects and settings that you want and inject that into the main "Framework" class for its use. He registers most of the components he's added over the series like the UrlMatcher, RouterListener, ExceptionListener, EventDispatcher and the Framework class itself. This is all stored in a separate file(s) and can be conditionally included based on your environment. He shows how to register a custom listener, add parameters to the DIC configuration.

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


blog comments powered by Disqus

Similar Posts

Josh Adell's Blog: Neo4j for PHP

O'Reilly: Migrating Web-Based PHP Applications to Ajax

PHPMaster.com: The Dependency Inversion Principle

PHPMaster.com: Using Phing

Rob Allen: Using Phing to SSH into a Vagrant box


Community Events

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


framework unittest community opinion release extension feature series laravel threedevsandamaybe wordpress laravel5 library language interview podcast introduction development voicesoftheelephpant api

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