不引用以“%s”开头的标量&引用;自Symfony 3.1以来,已弃用指示符字符

不引用以“%s”开头的标量&引用;自Symfony 3.1以来,已弃用指示符字符,symfony,phpstorm,deprecated,symfony-plugins,Symfony,Phpstorm,Deprecated,Symfony Plugins,services.yml中的所有我的服务和参数都被删除,并且我得到消息“不引用以“%”指示符开头的标量是不推荐的,因为Symfony 3.1“。 但是我使用的是Symfony 2.6,我不想用引号括起来,因为这个版本不需要它。这是在我更新了PhpStorm 2016.1的Symfony插件之后发生的 我能做些什么来避免这种情况?(使用PhpStorm 10或使用旧插件不是选项)您提到的检查不是由PhpStorm 2016.1提供的,而是由Symfony插件提供的 与任何其他检查一样,如果按Alt

services.yml中的所有我的服务和参数都被删除,并且我得到消息“不引用以“%”指示符开头的标量是不推荐的,因为Symfony 3.1“。 但是我使用的是Symfony 2.6,我不想用引号括起来,因为这个版本不需要它。这是在我更新了PhpStorm 2016.1的Symfony插件之后发生的


我能做些什么来避免这种情况?(使用PhpStorm 10或使用旧插件不是选项)

您提到的检查不是由PhpStorm 2016.1提供的,而是由
Symfony插件提供的

与任何其他检查一样,如果按Alt Enter*键或单击出现在违规行开头的黄色灯泡,然后从
检查“Yaml转义\引用检查”选项的子菜单中选择
禁用检查
,则可以轻松禁用该检查

您也可以在
设置
/
首选项
窗口中的
编辑器
->
检查
->
Symfony
->
细枝
下找到此检查



*我在OSX上使用PhpStorm,这是默认键映射上的键组合。

您需要做的是用双引号括住它

之前:

services:
  foo.class:
    class: Foo\Class
    arguments:
      - @some.service
      - %some.parameter%
之后:

services:
  foo.class:
    class: Foo\Class
    arguments:
      - "@some.service"
      - "%some.parameter%"

从2.8版开始,不推荐使用以“%”开头的格式;)


我觉得这不是一个好的选择。我用的是symfony2.6。为什么我会收到关于Symfony 3.1中某些内容的消息?这就是我想要避免的情况。显然,
Symfony插件
Plugin没有提供一种方法来指定您使用的Symfony的版本,而且它可能也不会试图自行检测。您可以尝试在上询问此功能。无论如何,Symfony 2.6是一个通过了其测试的版本(包括14个月的安全问题修复期)。您应该前进一步,将项目迁移到新版本。不幸的是,迁移不是一个选项。谢谢你的回复!在这种情况下,禁用此检查(可能还有一些其他检查)是您目前唯一的选择。我也碰巧不同意一些PhpStorm检查,当它们变得烦人时禁用其中一些。禁用此检查也会影响代码的其他部分。我不希望这样。是的,这可以解决我的问题,但我已经指定我不希望这样(“我不想把值放在引号里”)。这意味着我应该更改代码,我不想更改。不过还是要谢谢你。我明白了,你说的有道理,我对你使用的是SF2.6感到困惑,抱歉!我不认为该插件支持多个版本的sf!:/正确的方法是
“@some.service”
,实际上是单引号@RenatoMendesFigueiredo作为一名sf2开发者,根据他们的文档,如果你使用双引号,你将不得不逃避其中的一些内容,实际上可能不是这样,我不知道你是否需要使用单引号来做这个“\@服务”,你不需要反斜杠,所以我认为这是正确的方法?双引号应用于文本,如
参数:[“这是一个字符串参数\n,带有使用\\n的特征线(最后一个参数已转义!”]
自Symfony文档:“在Symfony 3.1中,不推荐在未加引号的字符串开头使用%,它将在Symfony 4.0中删除。解决方案很简单,但有点烦人:用单引号或双引号将这些字符串括起来”我知道,但我使用的是2.6:)Okey@taysia09,它肯定在插件“Symfony插件”中“:/Good luck:)实际上标量值“%”自3.1版以来已不推荐使用!@从2.8开始:)和