在哪里放置IoC Container的库在Laravel中工作?

时间:2013-03-29 17:25:50

标签: ioc-container laravel

IoC容器对我来说是一个复杂的主题,来自Codeigniter背景(你可以复制并粘贴一个库,它通过将它包含在include_once()中来工作),这是一个很难的概念。把头包起来。

我正在尝试将Graufette用于我的项目,我想我需要使用IoC容器,以便我可以加载库并使用它。问题是:

  • 我不知道将库文件放在何处
  • 我不知道在哪里放置注册IoC容器的代码
  • 我不知道如何在libraries文件夹
  • 之外加载库

根据Dayle Rees先生,you simply register the container in application/start.php并使用IoC::resolve()在您的控制器中调用它。问题是他没有指定你在哪里注册文件(或者你可以将IoC::register()代码放在别处)。

我不盲目地说“在库文件夹中”,因为正如我所见,它们会自动加载(并且可以静态访问)。对于Gaufrette和其他库(如SwiftMailer,但这是另一个故事,因为有一个捆绑),情况并非如此。

我可以在哪里放置这些文件并使用IoC Container加载它们?是否有必要这样做?

1 个答案:

答案 0 :(得分:0)

我只是简单地看了一下这个库的读物,对我而言,似乎你应该将它放到libraries目录中,或者创建vendor目录并将其放在那里。从它的外观来看,你应该自动加载它。一旦它被自动加载,您就可以使用IoC来绑定它的实例并每次检索该实例,而不必每次都想要使用它时设置库。