При использовании autowire в Symfony 4 я использовал этот рабочий код:
App\:
resource: '../src/*'
exclude: '../src/{Domain,Entity,Migrations,Tests}'
Этот код исключает из автоматического подключения все эти папки:
- src/Domain
- src/Entity
- src/Migrations
- src/Tests
Это нормально, но проблема возникает, когда я хочу исключить несколько папок с одинаковыми именами, которые разбросаны по другим папкам.
Например, если у нас есть эта структура:
¿Есть ли способ исключить все папки с именем FolderToExclude?
Я уже пробовал следующий код с некоторыми небольшими изменениями:
App\:
resource: '../src/*'
exclude: '../src/{Domain,Entity,Migrations,Tests,**/FolderToExclude}'
Но это не работает 🙁
В Symfony 4.1. Но там это закрытая ошибка и тянуть запрос Это может сделать эту функцию доступной для Symfony 4.2!
Исключение некоторых каталогов приносит некоторую выгоду и эффективность для инициализации контейнера службы и обработки автозагрузки службы …
Но некоторые другие важные функции также возможны с помощью этой опции конфигурации исключения:
Исключение блока подкаталогов — это безопасный способ защиты внутреннего пространства имен пакетов в приложении SF4. Это также защищает от конфликтов автозагрузки между внутренними пакетами и пакетом приложений, меньшим частью SF4.
В вашем случае лучше вручную указать путь к каждой папке FolderToExclude, проверив, что между подпапками приложения нет границ.
Надеюсь, что это поможет для вашего дизайнерского решения.