1

IoC 容器对我来说是一个复杂的主题,并且来自 Codeigniter 背景(您可以在其中复制和粘贴一个库,并且通过包含它来工作include_once()),这是一个难以理解的概念。

我正在尝试将Graufette用于我的项目,并且我认为我需要使用 IoC 容器,以便我可以加载库并使用它。事情是这样的:

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

根据 Dayle Rees 先生的说法,您只需在 application/start.php 中注册容器,然后在控制器中使用IoC::resolve(). 问题是他没有指定您将要注册的文件放在哪里(或者您是否可以将IoC::register()代码放在其他地方)。

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

我可以将这些文件放在哪里并使用 IoC 容器加载它们?甚至有必要这样做吗?

4

1 回答 1

0

I just briefly looked at the read me for this library and to me it seems like you should drop it in to the libraries directory, or create vendor directory and drop it in there. From the looks of it you should be autoloading it. Once it's being autoloaded you can use the IoC to bind an instance of it and retrieve that instance every time instead of having to setup the library each and every time you want to use it.

于 2013-04-06T09:19:22.760 回答