dependency-injection - 定义“参数”不支持配置键
问题描述
我正在使用 Symfony DI 组件。我正在尝试将字符串参数传递给服务构造函数,如下所示:
services:
parameters:
config.directory: './../../../'
_defaults:
public: true
settings:
class: Bar\Foo\Service
arguments: ['%config.directory%']
我正在通过以下方式编译容器:
$containerBuilder = new ContainerBuilder();
$loader = new YamlFileLoader($containerBuilder, new FileLocator($dir));
$loader->load('services.yaml');
$containerBuilder->compile();
例外:
致命错误:未捕获 Symfony\Component\DependencyInjection\Exception\InvalidArgumentException:定义“参数”不支持配置键“config.directory”
解决方案
参数应与服务处于同一级别:
parameters:
config.directory: './../../../'
services:
_defaults:
public: true
settings:
class: Bar\Foo\Service
arguments: ['%config.directory%']
推荐阅读
- c++ - 使用 std::filesystem,错误显示无法将 int 转换为 _Valty
- windows-server-2012-r2 - robots.txt 文件或控制它的配置是否有备用位置?
- oracle - 在 oracle apex 中使用圆环图。我在圆环图的分区上创建了链接,单击时将打开一个模式窗口到另一个页面
- javascript - 获取数组值的总和时如何修复 [Object object] 响应?
- javascript - Gulp 自定义函数返回并行不会做任何事情
- java - CompassLayer 未出现在 WorldWind 中
- reactjs - Webpack-dev-server 和 react-i18next XHR 后端
- javascript - React Native CLI 项目中的箭头函数逻辑
- google-analytics - 使用 Google Analytics Reporting API v4 自定义维度和日期范围
- java - 3rd 方系统的 Java 并行调用