Castel is a fast Dependency Injection Container. The class for PHP 5.3 consists of just one file.
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();$container->share('foo', 'bar');
$container->share('something', new Something());Retrieving parameters as plain properties:
$container->foo; // bar
$container->something; // instance of Something classServices 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$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
