该包最新版本(0.1.4)没有提供许可证信息。

使用Laravel的IoC容器在Zend Framework 1中进行控制器动作依赖注入。

0.1.4 2015-11-05 15:39 UTC

This package is not auto-updated.

Last update: 2024-09-28 17:02:14 UTC


README

#ZF-IoC

在Zend Framework 1中进行控制器动作依赖注入。

不将框架作为composer依赖项,以支持旧项目(因为这是该包存在的唯一原因)。

当前需要PHP 5.4+(由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']);
});

示例 #1

public function indexAction(\App\FooInterface $foo) 
{
    var_dump($foo);    
}
object(App\Foo)
  public 'bar' => 
    object(App\Bar)

示例 #2

public function indexAction() 
{
    $container = $this->getInvokeArg('container');
    var_dump($container->make('\App\Foo'));
}
object(App\Foo)
  public 'bar' => 
    object(App\Bar)