首页 > 解决方案 > YAML 使用 PHP 解析返回对象而不是数组

问题描述

我想使用 YAML 配置文件,为此,我symfony/yaml使用 composer 下载包。

我创建了我的测试 YAML 文件内容:

testing:
  test: 2

并解析它我使用这个代码:

$yaml = Yaml::parse(file_get_contents('test.yml'));
var_dump($yaml->testng);

但是,我收到此错误“尝试获取非对象的属性 'testng'”,因为解析返回数组并且我想获取一个对象。

我尝试添加(object),但它仅适用于第一个属性。

有什么解决办法吗?

标签: phpsymfonyyaml

解决方案


根据文档,您应该将Yaml::PARSE_OBJECT_FOR_MAP其作为第二个参数传递Yaml::parse()

$yaml = Yaml::parse(file_get_contents('test.yml'), Yaml::PARSE_OBJECT_FOR_MAP);

推荐阅读