3

我希望能够使用 codeigniter 进行控制器注入。是否有一个库可以为其更改核心控制器文件?

我的使用将是这样的(伪):

工厂文件 // 声明将发生的所有依赖项

if ( Controller == "Navigation" ) { 
    new Navigation( new PageRepository() ); 
}
else{
    new Navigation(); 
}

导航控制器文件

class Navigation extends MX_Controller {

    private $repository;

    public function __Construct( IPageRepository $repo )
    {
        parent::__Construct();
        $this->repository = $repo;
    }
    public function index()
    {
        $data[ "model" ] = $this->repository->GetAllPages();
        $this->load->view( 'index', $data );
    }
}

任何人都以任何其他方式了解依赖注入?我想实现它进行单元测试!

4

1 回答 1

-1

不太确定我是否理解您在这里想要实现的目标,但是如果您想修改/扩展 CodeIgniter 的核心,您应该使用hooks

这是文档的链接,检查是否有可以使用的挂钩点:http: //ellislab.com/codeigniter/user-guide/general/hooks.html

于 2014-07-09T06:26:58.347 回答