Symfony 编译注释 类
Symfony compile annotated classes
我对 Symfony\Component\HttpKernel\DependencyInjection\Extension::getAnnotatedClassesToCompile()
方法感兴趣。如果我理解正确,您可以 addAnnotatedClassesToCompile()
一个 类 数组(使用注释)命名空间。然后在缓存预热期间,所有这些 类 注释都会预热。我说得对还是漏了什么?
如果它是正确的,那么为什么 symfony 将 Symfony\Bundle\FrameworkBundle\Controller\AbstractController
、Symfony\Bundle\FrameworkBundle\Controller\Controller
添加到带注释的 类 中?我在里面找不到任何注释...
https://symfony.com/doc/current/bundles/extension.html#adding-classes-to-compile
If some class extends from other classes, all its parents are automatically included in the list of classes to compile.
由于您的控制器将扩展 Controller
或 AbstractController
,这意味着将始终检查它们是否有注释,因此缓存它们具有 none 的事实是有意义的。将它们添加到 addAnnotatedClassesToCompile
可确保即使您没有转储优化的自动加载器也能完成此操作。
我对 Symfony\Component\HttpKernel\DependencyInjection\Extension::getAnnotatedClassesToCompile()
方法感兴趣。如果我理解正确,您可以 addAnnotatedClassesToCompile()
一个 类 数组(使用注释)命名空间。然后在缓存预热期间,所有这些 类 注释都会预热。我说得对还是漏了什么?
如果它是正确的,那么为什么 symfony 将 Symfony\Bundle\FrameworkBundle\Controller\AbstractController
、Symfony\Bundle\FrameworkBundle\Controller\Controller
添加到带注释的 类 中?我在里面找不到任何注释...
https://symfony.com/doc/current/bundles/extension.html#adding-classes-to-compile
If some class extends from other classes, all its parents are automatically included in the list of classes to compile.
由于您的控制器将扩展 Controller
或 AbstractController
,这意味着将始终检查它们是否有注释,因此缓存它们具有 none 的事实是有意义的。将它们添加到 addAnnotatedClassesToCompile
可确保即使您没有转储优化的自动加载器也能完成此操作。