Package Data | |
---|---|
Maintainer Username: | jeroenvandergeer |
Maintainer Contact: | jeroen@vandergeer.eu (Jeroen van der Geer) |
Package Create Date: | 2015-06-20 |
Package Last Update: | 2015-11-05 |
Language: | PHP |
License: | Unknown |
Last Refreshed: | 2024-11-29 15:03:43 |
Package Statistics | |
---|---|
Total Downloads: | 579 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 0 |
Total Forks: | 1 |
Total Open Issues: | 0 |
#ZF-IoC
Controller action dependency injection in Zend Framework 1.
Does not have the framework as a composer dependency to support legacy projects (as that is the only reason this package exists).
Currently requires PHP 5.4+ (as required by illuminate/container 5.0)
composer require jeroenvandergeer/zf-ioc
// Container of choice, can be any Laravel compatible container
$container = new \Illuminate\Container\Container();
// Build dispatcher with IoC container
$dispatcher = new \Jeroenvandergeer\ZfIoc\Dispatcher($container);
// Set / replace the dispatcher
$frontController = \Zend_Controller_Front::getInstance();
$frontController->setDispatcher($dispatcher);
// Optionally register the container with the Zend registry for global binding
\Zend_Registry::set('container', $container);
// Register binding
$container->bind('\App\FooInterface', function($container){
return new \App\Foo($container['\App\Bar']);
});
public function indexAction(\App\FooInterface $foo)
{
var_dump($foo);
}
object(App\Foo)
public 'bar' =>
object(App\Bar)
public function indexAction()
{
$container = $this->getInvokeArg('container');
var_dump($container->make('\App\Foo'));
}
object(App\Foo)
public 'bar' =>
object(App\Bar)