News Feed
Sections




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

Reese Wilson:
Using the ServiceManager as an Inversion of Control Container (Part 1)
October 01, 2012 @ 08:04:02

The this recent post to his blog Reese Wilson looks at using one of the modules of the Zend Framework v2, the ServiceManager, as an inversion of control container in your app.

In Zend Framework 1, it was difficult to follow best practices when it came to writing testable code. Sure, you could make testable models, but once you need those models in a controller, what do you do? Zend Framework 2 makes it much easier. In this post, I'll cover the basics of injecting a model into a controller. The main goal here is to be able to wire up and configure your application from the highest level possible. Constructor injection + inversion of control makes it easy to determine which classes are dependent on other classes.

He creates a "Building" module and a "BuildingController" inside of it. This controller takes in an instance of a "Building" model as a dependency. He also shows how to define this dependency in the "getControllerConfig" method of your module to make it work automatically. He makes the "Building" model itself with no dependencies and sets it up as an "invokable" in that same "getControllerConfig" method.

0 comments voice your opinion now!
servicemanager zendframework2 inversionofcontrol ioc designpattern


blog comments powered by Disqus

Similar Posts

DevShed: Running Conditional Select Statements with the Active Record Pattern

Jurian Sluiman: Using Zend Framework service managers in your application

Master Zend Framework: HowTo Use Child and Segment Routes to Build Simple Routing Tables

MaltBlue.com: Easy Setter Injection in Zend Framework 2

PHPMaster.com: An Introduction to the Front Controller Pattern, Part 2


Community Events

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


podcast library api framework list laravel5 version opinion extension wordpress unittest voicesoftheelephpant interview laravel introduction language community php7 series release

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