Я пытаюсь создать наследование простого набора, как указано в here, и столкнулся с проблемой с маршрутами. Я использую аннотации для маршрутизации. Когда я регистрирую свой дочерний пакет в AppKernel.php, все мои пути родительских пакетов теряются.Symfony2 bundle inheritance потеряет родительские пучки маршрутов
Для того, что я понимаю из документации, Symfony2 должен искать все файлы, включая маршруты, сначала из дочернего пакета, а затем из родительского пакета. Теперь, когда этого не происходит, загружаются только контроллеры дочерних пучков.
В моем ребенке расслоения Bundle файл я реализовал функцию GetParent в соответствии с инструкциями, и в моем routing.yml у меня есть:
ParentBundle:
resource: "@Parent/Controller/"
type: annotation
prefix: /admin/
, которые прекрасно работали до наследования.
Я тестировал, что система работает нормально, если в нее включены все файлы контроллеров по-разному в routing.yml, но это кажется очень громоздким способом заставить наследование работать, поскольку я только хочу переопределить несколько частей родительского пакета (не все контроллеры).
Профайлер показывает оба моих пакета как активные.
даже спустя 3 года я нахожу это полезным, хотя и немного неожиданным, даже если вы расширяете контроллеры в одном комплекте, родительские аннотации маршрутизации будут игнорироваться, поэтому, если вы хотите иметь общий код, вы должны прибегнуть к признаку или использовать SharedController, из которого они все распространяются, но без маршрутов в нем – DarkMukke
Сохранено мое время. Большое спасибо за ваше решение –
даже в 2017 году, это очень полезная информация. Танки для этого! –