News Feed
Sections




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

Charles Sprayberry's Blog:
DI and global state
January 31, 2012 @ 09:24:47

In response to some of the comments made on his previous post about why you should use dependency injection in your applications, Charles Sprayberry is back with some more concrete examples showing how it all works with some code to back it up.

To help better explain each of the three aspects of DI I discussed in the previous article I'll be going over each more thoroughly and with those code examples requested. I'll be going through each point one at a time as the explanations will likely be of some length compared to the original post.

He starts with the "villain" of the story - the Singleton design pattern, a difficult to test method that lulls you into thinking you're not in the global scope. He talks about the problem of using this approach and how the Factory design pattern can be used to create an alternative. He changes up the example to create a "DbTableFactory" class that can be used to create the objects needed - in this case a "UserTable" object with the connection injected into it at construct time.

0 comments voice your opinion now!
dependency injection di factory singleton global designpattern


blog comments powered by Disqus

Similar Posts

Zend Developer Zone: PHP Security Tips #6 and #7

Fabien Potencier's Blog: What is Dependency Injection?

DevShed: Manipulating String Literals with Interpreter Classes in PHP 5

Secunia.com: CMS Mundo SQL Injection and File Upload Vulnerabilities

Paul Jones: What Application Layer Does A DI Container Belong In?


Community Events





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


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

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