PHP:
Робота з YAML

Як:

У своїх поточних версіях PHP не підтримує аналіз YAML як частину своєї стандартної бібліотеки. Найбільш простий спосіб працювати з YAML у PHP - використання компонента Symfony YAML або розширення yaml PECL.

Використання компонента Symfony YAML

Спершу встановіть компонент Symfony YAML через Composer:

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, спрощуючи конфігурацію та обробку даних.