我对Symfony\Component\HttpKernel\DependencyInjection\Extension::getAnnotatedClassesToCompile()
方法感兴趣。如果我对它的理解正确,则可以addAnnotatedClassesToCompile()
一组类数组(使用批注)命名空间。然后,在缓存预热期间,所有这些类注释都将预热。我是对的还是缺少什么?
如果正确,为什么symfony将Symfony\Bundle\FrameworkBundle\Controller\AbstractController
,Symfony\Bundle\FrameworkBundle\Controller\Controller
添加到带注释的类中?我在其中找不到任何注释...
答案 0 :(得分:1)
https://symfony.com/doc/current/bundles/extension.html#adding-classes-to-compile
如果某个类从其他类继承而来,则其所有父级将自动包含在要编译的类列表中。
由于您的控制器将扩展Controller
或AbstractController
,这意味着将始终检查这些注释中的注释,因此可以缓存它们中没有注释的事实。将它们添加到addAnnotatedClassesToCompile
可以确保做到这一点,即使您没有转储优化的自动加载器。