Symfony services.yaml来自供应商捆绑包的绑定参数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Symfony services.yaml来自供应商捆绑包的绑定参数相关的知识,希望对你有一定的参考价值。

我已经准备了CMS捆绑包,该捆绑包存储在我的私有存储库中,并通过Composer添加到vendor目录。

为什么从@MyBundle/Resources/config/services.yaml绑定标量参数不起作用?我必须将其复制粘贴到应用程序config/services.yaml中。

如果我在包本身中使用那些绑定的标量参数,它将起作用。但是,如果我想在App中使用它们,则不会。出现错误:

Cannot autowire service "AppMailerMailerHelper": argument "$mailUser" of method "__construct()" is type-hinted "string", you should configure its value explicitly.

我知道此绑定,默认值仅适用于此特定服务文件,因此作用域适用于捆绑软件。

是否有可能以某种方式处理它,以便不复制粘贴绑定配置?

答案

是的,有办法!如果您将CMS捆绑包作为供应商捆绑包,则只需在其中配置服务即可,而不必依赖自动接线。将services.yaml文件放置在“ Resources / config / services.yaml”中,然后您需要在您的依赖项注入文件中加载配置,这里是example

以上是关于Symfony services.yaml来自供应商捆绑包的绑定参数的主要内容,如果未能解决你的问题,请参考以下文章

Symfony4加载类自定义文件夹时出错“预计找到类...但是找不到它”

供应商文件夹中的 symfony 是啥?

Symfony - 如何覆盖不在捆绑包中的供应商组件

当供应商在 Symfony 2.1 中不受作曲家管理时,在哪里注册自动加载?

Symfony2 - 创建自己的供应商包 - 项目和 git 策略

在 Laravel Homestead 环境中获取 symfony 项目的供应商文件夹时出现问题