IoC容器对我来说是一个复杂的主题,来自Codeigniter背景(你可以复制并粘贴一个库,它通过将它包含在include_once()
中来工作),这是一个很难的概念。把头包起来。
我正在尝试将Graufette用于我的项目,我想我需要使用IoC容器,以便我可以加载库并使用它。问题是:
libraries
文件夹根据Dayle Rees先生,you simply register the container in application/start.php并使用IoC::resolve()
在您的控制器中调用它。问题是他没有指定你在哪里注册文件(或者你可以将IoC::register()
代码放在别处)。
我不盲目地说“在库文件夹中”,因为正如我所见,它们会自动加载(并且可以静态访问)。对于Gaufrette和其他库(如SwiftMailer,但这是另一个故事,因为有一个捆绑),情况并非如此。
我可以在哪里放置这些文件并使用IoC Container加载它们?是否有必要这样做?
答案 0 :(得分:0)
我只是简单地看了一下这个库的读物,对我而言,似乎你应该将它放到libraries
目录中,或者创建vendor
目录并将其放在那里。从它的外观来看,你应该自动加载它。一旦它被自动加载,您就可以使用IoC来绑定它的实例并每次检索该实例,而不必每次都想要使用它时设置库。