Symfony编译注释类

时间:2018-11-09 06:51:27

标签: symfony symfony-dependency-injection

我对Symfony\Component\HttpKernel\DependencyInjection\Extension::getAnnotatedClassesToCompile()方法感兴趣。如果我对它的理解正确,则可以addAnnotatedClassesToCompile()一组类数组(使用批注)命名空间。然后,在缓存预热期间,所有这些类注释都将预热。我是对的还是缺少什​​么?

如果正确,为什么symfony将Symfony\Bundle\FrameworkBundle\Controller\AbstractControllerSymfony\Bundle\FrameworkBundle\Controller\Controller添加到带注释的类中?我在其中找不到任何注释...

1 个答案:

答案 0 :(得分:1)

https://symfony.com/doc/current/bundles/extension.html#adding-classes-to-compile

  

如果某个类从其他类继承而来,则其所有父级将自动包含在要编译的类列表中。

由于您的控制器将扩展ControllerAbstractController,这意味着将始终检查这些注释中的注释,因此可以缓存它们中没有注释的事实。将它们添加到addAnnotatedClassesToCompile可以确保做到这一点,即使您没有转储优化的自动加载器。