没有任何第三方框架的PHP-DI入门

时间:2015-02-02 14:30:02

标签: php dependency-injection php-di

我刚刚发现依赖注入,我想将它应用于我一直在努力的中型项目。我已经有一个classes文件夹,其中包含系统中使用的所有类

  

/应用/核心/类

我想知道如何配置PHP-DI以根据需要定位这些类。

提前致谢

1 个答案:

答案 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