我使用PHPDI在API应用程序中自动加载类。
然而,为了提高速度,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将递归地遍历它们的所有依赖项(及其依赖项)以编译它们。控制器通常是应用程序的入口点,因此它是查找应用程序中所有(或大多数)服务的良好起点。
然而,我认为这更多的是一个表现的问题。如果应用程序的响应时间非常短,那么这可能是值得的,否则添加所有类进行编译可能不会产生明显的效果。