自动装配配置中的所有 类 或

Autowire all classes in config or

我在 API-应用程序中使用 php-di 自动加载 类。

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

return [
  // ... (your definitions)

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

我不明白 类 我们必须为编译自动装配。所有类?还是只有控制器?

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

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

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

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