IoC 容器对我来说是一个复杂的主题,并且来自 Codeigniter 背景(您可以在其中复制和粘贴一个库,并且通过包含它来工作include_once()
),这是一个难以理解的概念。
我正在尝试将Graufette用于我的项目,并且我认为我需要使用 IoC 容器,以便我可以加载库并使用它。事情是这样的:
- 我不知道将库文件放在哪里
- 我不知道把注册 IoC 容器的代码放在哪里
- 我不知道如何在
libraries
文件夹外加载库
根据 Dayle Rees 先生的说法,您只需在 application/start.php 中注册容器,然后在控制器中使用IoC::resolve()
. 问题是他没有指定您将要注册的文件放在哪里(或者您是否可以将IoC::register()
代码放在其他地方)。
我不会盲目地说“在库文件夹中”,因为正如我所见,它们会自动加载(并且可以静态访问)。对于 Gaufrette 和其他库(如 SwiftMailer,但这是另一回事,因为有一个捆绑包),情况并非如此。
我可以将这些文件放在哪里并使用 IoC 容器加载它们?甚至有必要这样做吗?