Меня интересует метод 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, это означает, что они всегда будут проверяться на наличие аннотаций, поэтому имеет смысл кэшировать тот факт, что у них их нет. Добавление их в addAnnotatedClassesToCompile гарантирует, что это будет сделано, даже если вы не сбросили оптимизированный автозагрузчик.