regeda / castel
Castel is a fast Dependency Injection Container for PHP 5.3
0.2.0
2014-07-30 10:06 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-12-21 16:57:11 UTC
README
Castel is a fast Dependency Injection Container. The class for PHP 5.3 consists of just one file.
Installing
Pick up the src/Castel.php
file or install it with Composer :
{ "require": { "regeda/castel": "0.1.*" } }
Creating a container is a matter of instating the Castel class
$container = new Castel();
Defining parameters
$container->share('foo', 'bar'); $container->share('something', new Something());
Retrieving parameters as plain properties:
$container->foo; // bar $container->something; // instance of Something class
Defining services
Services are defined by anonymous functions that return an instance of an object
$container->share('session', function () { return new Session(); });
Using the defined services
$session = $container->session; // instance of Session class
Extending services after creation
$container->share('mail', function () { return new \Zend_Mail(); }); $container->extend('mail', function ($mail, $container) { $mail->setFrom($container->getValue('mail.default_from')); return $mail; });
Source: https://github.com/regeda/castel