Как определять wildcard в Symfony?

Симфони предлагает автовайринг в `services.yml`
Для микросервиса это будет так (rootDir/src/config/services.yml)
App\:
    resource: '../src/*'
    exclude: '../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'


Для установленного через композер бандла (rootDir/src/vendor/vendorDir/src/Resources/config/services.yml)
VendorName\BundleName\:
    resource: '../../src/*'
    exclude: '../../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'


Проблема

Если тестировать такой бандл отдельно, то путь/wildcard нужно указывать уже третий
VendorName\BundleName\:
    resource: '../../../src/*'
    exclude: '../../../src/{DependencyInjection,Entity,Migrations,Tests,Kernel.php}'

Тестирование работает, а но в самом бандле для установки нужен будет второй вариант конфига.
Как сделать так, чтобы конфиг был один и для тестирования и для подключения/установки бандла?

тест - FunctionalTest extends KernelTestCase
ядро - TestsKernel extends Kernel
# Оба в папке тестов
  • Вопрос задан
  • 146 просмотров
Решения вопроса 1
grabbee
@grabbee Автор вопроса
src лишнее.
нужно
../../* или ../../Services.
Там в статье так написано
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
OnYourLips
@OnYourLips
У вас две других проблемы привели к вашей. Решаете какую-либо из исходных проблем и ваша сама исчезнет.

1.
VendorName\BundleName\:

Не делайте так, про это написано в документации:
https://symfony.com/doc/master/service_container/a...

2. Не выносите в бандлы бизнес-логику: https://symfony.com/doc/master/best_practices.html...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы