在配置或

时间:2018-04-06 12:58:49

标签: php php-di

我使用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

1 个答案:

答案 0 :(得分:1)

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

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