Php Symfony2 YAML解析失败

Php Symfony2 YAML解析失败,php,symfony,yaml,Php,Symfony,Yaml,我在YAML中有以下内容: Foo: bar: | Foo bar. 它工作得很好,但是: Foo: bar: | 40 % Foo bar. 失败: ParameterNotFoundException:参数 “foobar”有一个依赖项 在一个不存在的参数“Foo bar.”上 根据错误,它明显出现在百分比符号%出现的地方。是否有某种方法对其进行编码或使其不会失败?问题在于Symfony依赖项注入容器使用%som

我在YAML中有以下内容:

Foo:
    bar:    |
            Foo bar.
它工作得很好,但是:

Foo:
    bar:    |
            40 % Foo bar.
失败:

ParameterNotFoundException:参数 “foobar”有一个依赖项 在一个不存在的参数“Foo bar.”上


根据错误,它明显出现在百分比符号%出现的地方。是否有某种方法对其进行编码或使其不会失败?

问题在于Symfony依赖项注入容器使用%something%语法来引用DIC参数。我认为你应该以某种方式逃避现实;作为第一次尝试,我会选择其中一种:

40 %% Foo bar .
40 "%" Foo bar .
"40 % Foo bar ."
我在Symfony中没有找到100%肯定的答案,所以尝试一下;)

根据


格式字符串中的所有百分号(%)必须加倍才能转义字符。如果不转义,值可能会无意中被解释为服务参数。

因此,简而言之,如果您希望在yaml值中使用
%%

最后一种方法是正确的。还请注意,如果使用非symfony解析器解析yaml,则非转义%可能会导致错误。