不推荐使用| (管道)符号,在Symfony 2.8.18中的Yaml翻译文件中带有未加引号的内容

时间:2017-03-21 02:21:47

标签: php symfony yaml symfony-2.8

我正在升级到Symfony 2.8.18,我在upgrade notes

中注意到以下评论
  

不推荐使用@,`,|和>在一个未引用的开头   串

不清楚的是,这包括Yaml翻译/内容,如下所示:

  info: |
    You can upgrade to Ayrshire Minis Premium at any time. Just visit http://www.ayrshireminis.com for more information.

是否应将其修改为以下内容?

  info: |
    "You can upgrade to Ayrshire Minis Premium at any time. Just visit http://www.ayrshireminis.com for more information."

官方Symfony网站上的New in Symfony 2.8: YAML deprecations博客文章未提供示例或对此进行推断

1 个答案:

答案 0 :(得分:2)

他们至少可以获得正确的术语。在YAML中没有像未加引号的字符串。根据他们的说法,我推断它们意味着普通流标量

根据YAML规范,`|在这样的标量开头是非法的,因为它们是为将来使用而保留的。 >arguments: [`string`, |string, >string] 显然是非法的,因为它们会启动块标量。他们在博客文章中给出了以前工作的例子:

|

因此,这意味着您无法在流内容中使用>Leen来启动普通标量。这在理论上是允许的,因为它不含糊,因为块标量不能存在于流内容中,但YAML规范仍然禁止它。

根据他们的解释,这对块标量没有影响(其他一切都意味着它们不再支持一个主要的YAML功能,这将是非常奇怪的。)