Symfony 3.3 服务自动配置

2024-01-09

我正在尝试迁移到 symfony 3.3 并使用新功能autowire/autoconfigure服务:

所以在 services.yml 中我有:

services:
    _defaults:
        autowire: true
        autoconfigure: true
        public: false

    # makes classes in src/AppBundle available to be used as services
    AppBundle\:
        resource: '../../src/AppBundle/*'
        # you can exclude directories or files
        # but if a service is unused, it's removed anyway
        exclude: '../../src/AppBundle/{Entity,Controller,DQL,Form/DataTransformer,Repository}'

我将我的树枝扩展声明为:

AppBundle\Twig\ImageExtension:
      arguments:
          $env: "%kernel.environment%"

以及该服务的构造函数:

public function __construct(TokenStorage $token, UserRepository $userRepository, RedisCacheService $cache, string $env)
{
    $this->env = $env;
    $this->user = $token->getToken() ? $token->getToken()->getUser() : false;
    $this->userRepository = $userRepository;
    $this->cache = $cache;
}

似乎一切正常,但我收到此错误:

(1/1) AutowiringFailedException
Cannot autowire service "AppBundle\Twig\ImageExtension": argument "$env" of method "__construct()" must have a type-hint or be given a value explicitly.

并且不知道如何解决它。


我有相同的错误消息,但由不同的错误引起。也许有人会发现这很有用。

我在 service.yml 中的初始配置是:

app.my_service:
    class: 'AppBundle\Service\MyService'
    arguments:
        $foobar: 'some value for foobar'
    public: true

我收到了这个错误:

无法自动装配服务“AppBundle\Service\MyService”:参数 方法“__construct()”的“$foobar”必须有类型提示或给出 明确的值。

几个小时后我找到了解决方案:

AppBundle\Service\MyService:
    arguments:
        $foobar: 'some value for foobar'

app.my_service:
    alias: AppBundle\Service\MyService
    public: true
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 3.3 服务自动配置 的相关文章

  • (Zend Framework > Zend_Config) 如何避免使用 .ini 或 .xml 配置?

    我认为对于高流量项目来说使用 ini 或 xml 文件不是一个好主意 因为每个页面加载都会导致解析 config ini 或 xml 文件 有什么方法可以用常规 php 数组替换使用 ini xml 作为配置吗 现在 php ini 看起来
  • 从 PHP 执行 SQL Server 存储过程

    我尝试从 PHP 调用 SQL Server 存储过程 这是我的存储过程 CREATE procedure dbo tester id NVARCHAR MAX AS BEGIN DECLARE tab TABLE myxml XML IN
  • XMLReader - 如何处理未声明的命名空间

    Merged https meta stackexchange com questions 158066 what is a merged question with 如何使用 XMLReader 读取未定义命名空间的 XML 文件 que
  • Magento 1.8 - 高级搜索不起作用

    我在最新版本的 magento 中发现了一个奇怪的错误 高级搜索工具无法正常工作 我做了什么 安装 magento 的新副本 在管理页面添加了一个名为 测试 1 的产品 重新索引全部 清除所有缓存 At the frontend page
  • MySQL 和 PHP:多关键字搜索

    我有一个包含逗号分隔关键字的字符串 例如 keywords keyword1 keyword2 keyword3 我的表架构 名为tbl address是这样的 简化的 id INT 11 PRIMARY KEY AUTO INCREMEN
  • 对需要发送标头的项目进行单元测试

    我目前正在与 PHPUnit 合作 尝试在我正在编写的内容的同时开发测试 但是 我目前正在编写会话管理器 并且在这样做时遇到了问题 Session 处理类的构造函数是 private function construct if header
  • CodeIgniter Active Record - 组 OR 语句

    这是我的问题 MySQL 或 条件 https stackoverflow com questions 8604380 mysql or condition 解决方案是将 OR 语句分组 但我正在使用 CodeIgniters Active
  • 通过日期选择器过滤查询后检索具有特定值的行数[重复]

    这个问题在这里已经有答案了 目前 我正在使用 CodeIgniter 来检索特定时间范围内的数据 所有这些条目都有一个状态 我想将具有相同状态的所有条目分组并将其显示在各自的标题中 目前 这是我的模型类 其中我有以下条目来返回特定日期范围内
  • 在php中的字符串数组中查找字符串的开头[重复]

    这个问题在这里已经有答案了 我知道我们有 php in array 函数 但我正在寻找一种方法来查找以特定字符串开头的字符串数组中的值 例如找到 search string div 1 div 在这样的数组中 array sample gt
  • PHP: $arr['key'] 上的 is_array 不存在 'key'

    我的一所大学似乎在我编写的代码中存在 未定义索引 错误 我的这段代码如下所示 if is array arr key 我的目的是检查 arr 是否有一个名为 key 的键 以及该键的值是否是数组本身 我应该这样做吗 if isset arr
  • 如何使用来自数据库的值来定义 Twig 模板的全局变量?

    我想为 twig 定义一个全局变量 可以从任何模板访问它 我可以在 symfony 中创建一个全局变量config packages twig yaml 但我需要它是从数据库获取的值 在 twig 的文档中 它说使用此代码 twig new
  • 如何使用 PHP SoapClient 添加任意命名空间?

    如何使用 PHP SoapClient 添加任意名称空间 命名空间实际上并未在请求中使用 但我认为它阻止了我的消息被正确使用 WSDL 在这里 http abr business gov au abrxmlsearchRPC ABRXMLS
  • PHP 和 ASP.Net 可以在 IIS 7.5 中的同一网站中一起运行吗?

    我们网站的一部分是用 PHP 完成的 而我们网站的一部分是用 ASP Net 完成的 我们刚刚使用 Windows Server 2008 R2 设置了一个新的 Web 服务器 其中安装了 IIS 7 5 我知道 IIS 7 支持 PHP
  • 如何设置外键id的id #sf2 #doctrine2

    我正在尝试手动为对象设置外键 id 但没有找到如何执行此操作 class Item ORM ManyToOne targetEntity MyBundle Entity ItemType inversedBy itemTypes ORM J
  • PHP 静态变量用双引号引起来

    如何让 PHP 计算双引号中的静态变量 我想做这样的事情 log self CLASS METHOD entering 我尝试过各种 组合来获取变量值self CLASS 但没有任何效果 我目前已经解决了字符串连接问题 但输入起来很痛苦 l
  • 表单未使用 AJAX 提交

    再次更新 如果有人关心的话 我之前发布的解决方案由于某种原因停止工作 我在 ajax 请求中包含了 beforeSend 并将验证表单的 js 部分粘贴到其中 现在就像一个魅力 form on submit function e e pre
  • 如何从对应的数组值中获取数组键?

    您可以轻松地通过其键获取数组值 如下所示 value array key 但如果我有该值并且想要它的密钥怎么办 获得它的最佳方式是什么 你可以使用array search https www php net manual en functi
  • 尝试使用curl进行GET,发送的值允许为空

    我正在尝试使用curl 来执行一个简单的GET 其中包含一个名为redirect uri 的参数 被调用的 php 文件打印出 GET redirect uri 的空字符串 它显示 red 并且似乎没有发送任何内容 执行获取操作的代码 Ge
  • CKEditor TypeError:c[a] 在 CodeIgniter 中未定义

    我正在尝试在基于 codeigniter 的网站中安装 CKEditor 并且我已按照本教程进行操作 Codeigniter 教程中的 CKEditor http nukium com developpement php framework
  • 如何使用 Spring Resource.groovy 正确注入 Grails 服务

    使用 Grails 2 2 1 我定义了以下 Grails 服务 package poc class TestService def helperService class HelperService 我已经用过TestService如下

随机推荐

  • 在android中以编程方式创建vCard文件

    我使用以下代码来读取联系人并创建 vcard 文件 String lookupKey cur getString cur getColumnIndex Contacts LOOKUP KEY Uri uri Uri withAppended
  • TextInputEditText 无法转换为 TextInputLayout

    我的活动中有此代码 public class RegisterActivity extends AppCompatActivity private static final String TAG RegisterActivity class
  • 如何删除composer php中的所有测试?

    我是作曲家开发方面的新手 我刚刚开始在当前的项目中与作曲家合作 我认为我的问题之前已经被问过 或者我对作曲家很菜鸟 D 每个依赖项的供应商中有许多测试文件和目录 我只想在将其上传到服务器之前删除这些测试 是否有任何命令可以删除这些测试或者我
  • 找到第二个最接近值的索引

    我在用 index np abs array value argmin 查找数组中与某个值的绝对差值最小的索引 但是 有没有像这样的干净方法来查找second最接近该值的索引 我认为这有效 a np linspace 0 10 30 arr
  • 在 Ruby 中解析文件时跳过行的最快方法?

    我尝试寻找这个 但找不到太多 这似乎是以前可能被问过的问题 很多次 所以如果是这样的话 我深表歉意 我想知道在 Ruby 中解析文件某些部分的最快方法是什么 例如 假设我know我想要的特定函数的信息位于 1000 行文件的第 500 行和
  • 从 URL 中提取主机名

    我必须在 sql 中将网站名称修剪为 com 或 co in 示例 假设我的站点地址为 http stackoverflow com questions ask title trim 我需要得到 stackoverflow com 的结果
  • 使用 JLabels 更新图像的正确方法

    我正在创建一个 GUI 并且对 swing 和 awt 相当陌生 我正在尝试创建一个 gui 在启动时将背景设置为图像 然后使用一种方法来创建某种幻灯片 我已经尝试过 并且我不执着于代码 因此我能够接受修订和 或全新概念 编辑 9 15 1
  • 在 dart 中将 `const` 值赋给 `final` 变量的目的是什么? [复制]

    这个问题在这里已经有答案了 所以我正在做第一个例子 https flutter io get started codelab 对于 Flutter 以及以下 步骤4 创建无限滚动的ListView 我遇到了这段代码 class Random
  • 一起使用必需属性和只读属性

    我正在创建一个 HTML5 网络表单 其中一个输入用于地理位置 通过单击按钮 它插入 GPS 坐标 来填充 由于此输入必须是必需的并且必须是只读的 我不希望用户在其中写入自定义数据 因此如何处理这个问题 HTML5不允许使用required
  • HTML/CSS:页面总宽度比内容宽

    我遇到一个奇怪的问题 找不到原因 我有以下网页 http uk translation vocabulary com de german http uk translation vocabulary com de german并且页面的感知
  • 如何根据开始时间和持续时间计算结束时间?

    我正在构建一个事件日历并将开始时间传递给 PHP 格式为 2009 09 25 15 00 00 持续时间也会被传递 其格式可能为 60 分钟或 3 小时 从小时转换为分钟不是问题 如何在已建立的起点上添加时间长度以正确设置结束时间的格式
  • 如何在 swift5 和 Alamofire 5 beta 版本中获取并保存响应?

    我尝试了一些代码 但我的问题仍然没有解决 请帮助我 我是快速代码的新手 let parameters Parameters skey XXXXXX country code 91 mobile XXX004 user role 4 AF r
  • Butterknife 8.4.0 - 未找到 ID 为“android-apt”的插件

    我不断收到错误消息Plugin with id android apt not found 这里出了什么问题 plugins id me tatarka retrolambda version 3 2 5 apply plugin com
  • 带有文本的警报对话框,后跟一个复选框和 2 个按钮

    我需要弹出警报对话框 就像 EULA 屏幕一样 其中将包含描述 EULA 的文本 并带有 不再显示此内容 复选框 最后有 2 个 确定 和 取消 按钮 如何将文本视图和复选框作为警报对话框的一部分 我必须同意 Mudassir 的观点 EU
  • PHP 中的 Response.End

    有没有相当于Response End in PHP exit die flush
  • 未找到以下类:android.support.v4.widget.DrawerLayout

    我正在 Android Studio 中开发一个项目 其中我必须使用导航抽屉 一切都运行良好 最近 Android Studio 更新到 1 2 版本 突然导航抽屉停止渲染的活动给了我这个错误 我知道这是一个已知错误 以前也发生过这种情况
  • Google 地图 v3 - 客户端上的地图图块缓存?

    我正在为一个项目使用 Google Maps JS API v3 有没有办法让地图在客户端计算机上缓存图块 以便当他们刷新浏览器时 图块不必再次下载 我的许多客户都使用蜂窝连接 重新下载地图需要相当长的时间 Thanks 默认情况下 谷歌地
  • d3.js - 根据标签关系切换 元素上的属性/样式

    StackBlitz 演示 https stackblitz com edit github dzry6q agcn5s file src 2Fapp 2Fdirected graph experiment service ts src 2
  • 测量单位是 F# 独有的吗? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • Symfony 3.3 服务自动配置

    我正在尝试迁移到 symfony 3 3 并使用新功能autowire autoconfigure服务 所以在 services yml 中我有 services defaults autowire true autoconfigure t