使用 PHP YAML 解析返回对象而不是数组

say*_*you 1 php yaml symfony

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

我创建测试 YAML 文件内容:

testing:
  test: 2
Run Code Online (Sandbox Code Playgroud)

并解析它我使用以下代码:

$yaml = Yaml::parse(file_get_contents('test.yml'));
var_dump($yaml->testng);
Run Code Online (Sandbox Code Playgroud)

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

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

有什么解决办法吗?

Sty*_*tyx 6

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

$yaml = Yaml::parse(file_get_contents('test.yml'), Yaml::PARSE_OBJECT_FOR_MAP);
Run Code Online (Sandbox Code Playgroud)