[英]Symfony 4 autowiring exclude ignores subfolders
Assume following directory structure:假设以下目录结构:
/src
/DTO
/Factory
/Collection
I want to exclude all classes, including classes from subdirectories of /DTO
directory我想排除所有类,包括
/DTO
目录子目录中的类
In my services file I do:在我的服务文件中,我这样做:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*
exclude:
- '../src/DTO/*'
This leads to:这将导致:
Symfony\Component\DependencyInjection\Exception\RuntimeException : Cannot autowire service App\DTO\Factory\Collection\MyCollection
If this service placed in DTO
folder directly - then autowiring works.如果此服务直接放置在
DTO
文件夹中 - 那么自动装配工作。
Can I specify the exclude expression in any way to include subfolders?我可以以任何方式指定排除表达式以包含子文件夹吗?
To exclude everything from DTO
folder use:要从
DTO
文件夹中排除所有内容,请使用:
App\:
resource: '../src/*'
exclude:
- '../src/DTO'
ie w/o *
symbol即不带
*
符号
I found a solution to exclude not only classes placed directly in folder, but also subfolders with two asterisk signs ( **
).我找到了一个解决方案,不仅可以排除直接放置在文件夹中的类,还可以排除带有两个星号 (
**
) 的子文件夹。
Here is the example of a valid configuration:以下是有效配置的示例:
services:
_defaults:
autowire: true
autoconfigure: true
public: false
App\:
resource: '../src/*
exclude:
- '../src/DTO/**'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.