0

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

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

4

1 回答 1

1

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

如果某个类从其他类扩展而来,则它的所有父类都会自动包含在要编译的类列表中。

由于您的控制器将扩展,Controller或者AbstractController这意味着将始终检查这些控制器的注释,因此缓存它们没有注释的事实是有意义的。添加它们以addAnnotatedClassesToCompile确保即使您没有转储优化的自动加载器也可以完成此操作。

于 2018-11-13T08:54:30.003 回答