我刚刚发现依赖注入,我想将它应用于我一直在努力的中型项目。我已经有一个classes文件夹,其中包含系统中使用的所有类
/应用/核心/类
我想知道如何配置PHP-DI以根据需要定位这些类。
提前致谢
答案 0 :(得分:0)
PHP-DI的作者,你在用Composer安装吗?
如果是,请在composer.json
中配置您的文件夹,并在脚本中只需要vendor/autoload.php
。然后你可以开始使用容器,它应该工作。例如:
$container = \DI\ContainerBuilder::buildDevContainer();
$yourObject = $container->get('YourClass');
现在要知道这个例子是不是依赖注入(你可以看到这里没有注入任何东西)。当您从容器($container->get()
)获取对象时,您将代码与容器耦合。
在应用程序的根目录执行此操作很好,例如实例化您的控制器(或您想要的任何其他根对象)。但是应该注入控制器的依赖关系,而不是从容器中获取(如果你想进行依赖注入)。
顺便提一下,如果您想讨论更多主题,可以使用聊天室:https://gitter.im/mnapoli/PHP-DI当然还有the documentation。