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

Gonzalo Ayuso's Blog:
Inject dependencies via PhpDoc
April 10, 2012 @ 10:23:14

Gonzalo Ayuso has a new post to his blog looking at a method for injecting dependencies into your application's code based on comments in the PHPDocumentor-formatted comments of your methods.

Last month I attended to Codemotion conference. I was listening to a talk about Java and I saw the "@inject" decorator. I must admit I switched off my mind from the conference and I started to take notes in my notebook. The idea is to implement something similar in PHP. It's a pity we don't have real decorators in PHP. I really miss them. We need to use PhpDoc. It's not the same than real decorators in other programming languages. That's my prototype. Let's go.

All of the code you'll need to recreate his solution is included - a sample "User" class that needs a valid PDO object in a private "db" property, a "DocInject" class that parses the comments and, using a new feature of PHP 5.4 (traits), injects the needed functionality into the "User" class and creates/assigns the object.

You can see just the full code in these two gists on Github.

0 comments voice your opinion now!
phpdocumentor comment tutorial injection traits


blog comments powered by Disqus

Similar Posts

Christoph Dorn's Blog: Gain insight into your cache interaction with FirePHP Companion

Matt Frost: Dependency Injection Container Question

PHPBuilder.com: AJAX and PHP Part 2 - XML Communication/Processing

Phish Tank: Install & Configure Apache+PHP+ZendFramework+OracleDbXe On Windows In Minutes

PHP-GTK Community Site: an IMAP Client & Screenshots with Gdk


Community Events











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


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

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