Я создал образец пакета с помощью консоли. Играл с ним некоторое время. Теперь я переместил его в папку поставщиков.
В папке поставщиков папка структуры пакета
VendorName\VendorName\Bundles\SampleBundle
Я добавил пространство имен в composer/autoload_namespaces.php
AppKernel.php
а в AppKernel.php
я успешно зарегистрировал пакет. В SampleBundle/Resources/config
есть routing.yml
который имеет ранее определенную информацию о маршрутизации.
Когда пакет был внутри папки src
маршрутизация работала нормально. У меня было в app/config/routing.yml
ниже определение
biberltd_currency: resource: "@VendorNameSampleBundle/Resources/config/routing.yml" prefix: /
С приведенным выше определением я получаю следующую ошибку:
Невозможно импортировать ресурс «@ VendorNameSampleBundle / Resources / config / routing.yml из« D: / localdev / www / symfony / app / config \ routing.yml ». Убедитесь, что пакет @ @ VendorNameSampleBundle / Resources / config / routing.yml правильно зарегистрирован и загружен в класс ядра приложения.
Когда я app/config/routing.yml
определение маршрутизации из app/config/routing.yml
, ошибка исчезает, но маршрут не работает.
Увидев это, я проверил множество наборов примеров, но не смог найти, как они обрабатывали маршрутизацию контроллеров пакетов для пакетов, которые находятся в папке поставщиков.
Может ли кто-нибудь помочь мне с этим?
Кажется, у меня была проблема с пространством имен. Теперь, после исправления пространства имен в « resource:
», включая ресурс в app/config/routing.yml
работает.
biberltd_currency: resource: "@VendorNameSampleBundle/Resources/config/routing.yml" prefix: /
Вы должны сделать загрузчик маршрута, как описано в документации
Также, как указано Pazi, настройте композитор compj.json
и, наконец, добавить в свой корень composer.json:
"repositories": [ { "type":"git", "url":"/home/dev/bundle.git" } ], "require":{ "my/bundle":"dev-master" }