Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以将别名用于yaml中带有symfony/yaml的密钥?_Symfony_Cakephp_Yaml - Fatal编程技术网

是否可以将别名用于yaml中带有symfony/yaml的密钥?

是否可以将别名用于yaml中带有symfony/yaml的密钥?,symfony,cakephp,yaml,Symfony,Cakephp,Yaml,我一直在尝试使用带有cakephp3的symfony/yaml(v4.4.0)读取以下yaml文件。 但是,我得到了以下错误 Reference "aaa" does not exist in "path to yml" at line xx (near "*aaa:"). Symfony\Component\Yaml\Exception\ParseException 我想稍后使用“aaa”作为密钥。 它不适用于“*aaa:”,而适用于“1:”。 基本上,yaml文件中的键可以使用别名吗 这是

我一直在尝试使用带有cakephp3的symfony/yaml(v4.4.0)读取以下yaml文件。
但是,我得到了以下错误

Reference "aaa" does not exist in "path to yml" at line xx (near "*aaa:").
Symfony\Component\Yaml\Exception\ParseException
我想稍后使用“aaa”作为密钥。
它不适用于“*aaa:”,而适用于“1:”。
基本上,yaml文件中的键可以使用别名吗

这是yaml文件

aaa: &aaa 1
bbb: &bbb 2
ccc: &ccc 3

*aaa: # <- this doesn't work and works with '1:'
  - *bbb
  - *ccc
aaa:&aaa1
bbb:&bbb 2
ccc:&ccc3

*aaa:#用于符合通用规范的YAML解析器

您需要在
之前用空格写它

aaa:&aaa1
bbb:&bbb 2
ccc:&ccc3
*aaa:
-*bbb
-*ccc
YAML 1.2允许
成为锚定的一部分,因此,如果
写入别名附近,则不会将该行解析为隐式键(因为它随后成为别名的一部分)。 这是一个很好的例子

用于Symfony


Symfony似乎将
*aaa:
解析为别名
*aaa
,将
解析为值指示符。虽然这是违反规范的行为,但这不应该困扰我们,因为根据邮件列表,这更像是规范中的一个疏忽。然而,Symfony在这里无法解决别名问题,您对此无能为力,只能提出一个问题。

以后,请给出实际的错误信息,而不是说“它不工作”“。谢谢你的建议。我已经添加了详细信息。这是Symfony的YAML解析器中的一个bug,你需要向他们提交一个问题来解决。我们在这里做不了什么。那么你的问题不是关于YAML,而是关于特定实现中的一个bug。这段代码是有效的YAML,可以通过或(我的工作)在线检查.我很抱歉没有先写细节。这似乎是symfony/yaml的一个bug。。