PHP:
使用YAML工作

如何操作:

截至当前版本,PHP尚不支持在其标准库中解析YAML。在PHP中使用YAML最直接的方式是通过使用Symfony YAML组件或者yaml PECL扩展。

使用Symfony YAML组件

首先,通过Composer安装Symfony YAML组件:

composer require symfony/yaml

然后,您可以按如下方式解析和生成YAML内容:

<?php
require_once __DIR__.'/vendor/autoload.php';

use Symfony\Component\Yaml\Yaml;

// 解析YAML
$yamlString = <<<YAML
greet: Hello, World!
framework:
  name: Symfony
  language: PHP
YAML;

$array = Yaml::parse($yamlString);
print_r($array);

// 从数组创建YAML
$array = [
    'greet' => 'Hello, YAML!',
    'framework' => [
        'name' => 'Symfony',
        'language' => 'PHP',
    ],
];

$yaml = Yaml::dump($array);
echo $yaml;

解析时的示例输出:

Array
(
    [greet] => Hello, World!
    [framework] => Array
        (
            [name] => Symfony
            [language] => PHP
        )

)

生成时的示例输出:

greet: Hello, YAML!
framework:
    name: Symfony
    language: PHP

使用yaml PECL扩展

如果您愿意,或者如果您的项目要求允许,PECL扩展可以是另一种有效的方法来处理YAML。首先,确保安装了扩展:

pecl install yaml

然后,在您的php.ini配置中启用它:

extension=yaml.so

以下是如何解析和发出YAML:

<?php

// 解析YAML
$yamlString = <<<YAML
greet: Hello, World!
framework:
  name: Symfony
  language: PHP
YAML;

$array = yaml_parse($yamlString);
print_r($array);

// 从数组创建YAML
$array = [
    'greet' => 'Hello, YAML!',
    'framework' => [
        'name' => 'Symfony',
        'language' => 'PHP',
    ],
];

$yaml = yaml_emit($array);
echo $yaml;

输出将与Symfony组件的类似,展示了YAML作为人类可读格式与PHP数组结构之间桥梁的角色,方便了配置和数据处理。