1

我使用 php-di 在我的 API-Application 中自动加载类。

然而,为了速度,php-di 声明您必须手动自动装配类以进行编译。所以他们给了我们这个例子:

return [
  // ... (your definitions)

  UserController::class => autowire(),
  BlogController::class => autowire(),
  ProductController::class => autowire(),
  // ...
];

我不明白我们必须自动装配哪些类进行编译。所有课程?还是只有控制器?

由于应用程序很大,我可以想象这个 DiC 配置文件会变得有多大。不仅如此,如果我创建一个新的存储库或模型,那么我不应该忘记将它添加到我的 DiC 配置中。

来源: http: //php-di.org/doc/performances.html

4

1 回答 1

1

你可以只添加你的控制器:PHP-DI 将递归地遍历它们的所有依赖项(以及它们的依赖项)来编译它们。控制器通常是应用程序的入口点,因此它是在应用程序中查找所有(或大部分)服务的良好起点。

但我认为这更多的是表演问题。如果您的应用程序具有超短的响应时间,那么也许值得这样做,否则添加所有类进行编译可能不会真正产生明显的差异。

于 2018-04-06T13:14:11.007 回答