我希望能够使用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 );
}
}
任何人都有关于依赖注入的线索吗?我想将其用于单元测试!
答案 0 :(得分:-1)
我不确定我是否理解您要在此处实现的目标,但如果您想修改/扩展CodeIgniter的核心,则应使用 hooks 。
这是指向文档的链接,请查看是否有可以使用的挂钩点: http://ellislab.com/codeigniter/user-guide/general/hooks.html