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

Dev-Explorer.com: Using MySQL Stored Procedures and Extending MySQLi in PHP

Phil Bennett: Dependency Injection as a Tool for Testing

Ulrich Kautz: C-based Web Frameworks for PHP

Chris Shiflett's Blog: PHP Tidbits

NetTuts.com: Refactoring Legacy Code: Part 1 - The Golden Master


Community Events





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


composer language laravel security version community series symfony interview introduction opinion library framework tool package release application podcast install voicesoftheelephpant

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