Symfony services.yaml配置-不带命名空间的autowire
如何使用以下文件夹结构自动关联我的类:Symfony services.yaml配置-不带命名空间的autowire,symfony,symfony4,Symfony,Symfony4,如何使用以下文件夹结构自动关联我的类: src -folder1 --folder1.1 --folder1.2 -folder2 -folder3 PSR-4允许在composer.json中自动加载根目录,如下所示(例如: ”:“src/” 在symfony中,要自动连接给定文件夹中的所有类,请在services.yaml 默认配置: App\: resource: 'src/*' exclude: 'src/{Entity,Migrations,Test
src
-folder1
--folder1.1
--folder1.2
-folder2
-folder3
PSR-4允许在composer.json
中自动加载根目录,如下所示(例如:”:“src/”
在symfony中,要自动连接给定文件夹中的所有类,请在services.yaml
默认配置:
App\:
resource: 'src/*'
exclude: 'src/{Entity,Migrations,Tests,Kernel.php}'
其中,App\
成为默认名称空间(我不能将其用作默认名称空间)。我想在
services.yaml中实现与我在composer.json中所做的相同的事情
大概是这样的:
some.id:
namespace: ''
resource: 'src/*'
exclude: 'src/{Entity,Migrations,Tests,Kernel.php}'
另外,我不想像这样添加50-60行名称空间实现:
Namespace1\:
resource: ...
exclude: ...
Namespace2\: ...
Namespace3\: ...
如果不添加全局名称空间(如App\
),在services.yaml
中添加每个名称空间或修改基本代码,则无法使此文件夹结构与自动连接一起工作
我所做的是在src
文件夹中添加全局名称空间App\
。除了修改基本代码之外,我看不到任何支持布局结构的方法。但出于好奇,是什么促使您创建60个不同的名称空间前缀?似乎有点过分,不是我。最有可能是遗留的东西。项目经过多年的发展。也许其他人可以提供帮助,但我怀疑你只需要以旧的方式定义你的服务。有点惊讶的是,自动加载甚至可以工作。你可以使用PHP格式来配置你的服务。这将允许您首先遍历目录并动态创建资源。但是,您需要格外小心地确定希望排除哪些目录(尤其是在创建新文件或目录时)。