PHP:
Praca z YAML
Jak to zrobić:
PHP, w swoich obecnych iteracjach, nie obsługuje parsowania YAML jako część swojej standardowej biblioteki. Najprostszym sposobem pracy z YAML w PHP jest użycie komponentu YAML Symfony lub rozszerzenia yaml
PECL.
Użycie komponentu Symfony YAML
Najpierw zainstaluj komponent YAML Symfony za pomocą Composera:
composer require symfony/yaml
Następnie możesz parsować i zrzucać zawartość YAML w następujący sposób:
<?php
require_once __DIR__.'/vendor/autoload.php';
use Symfony\Component\Yaml\Yaml;
// Parsowanie YAML
$yamlString = <<<YAML
greet: Hello, World!
framework:
name: Symfony
language: PHP
YAML;
$array = Yaml::parse($yamlString);
print_r($array);
// Tworzenie YAML z tablicy
$array = [
'greet' => 'Hello, YAML!',
'framework' => [
'name' => 'Symfony',
'language' => 'PHP',
],
];
$yaml = Yaml::dump($array);
echo $yaml;
Przykładowe wyjście przy parsowaniu:
Array
(
[greet] => Hello, World!
[framework] => Array
(
[name] => Symfony
[language] => PHP
)
)
Przykładowe wyjście przy zrzucaniu:
greet: Hello, YAML!
framework:
name: Symfony
language: PHP
Użycie rozszerzenia yaml
PECL
Jeśli wolisz, lub jeśli wymagania twojego projektu na to pozwalają, rozszerzenie PECL może być kolejnym efektywnym sposobem na pracę z YAML. Najpierw upewnij się, że rozszerzenie jest zainstalowane:
pecl install yaml
Następnie włącz je w swojej konfiguracji php.ini
:
extension=yaml.so
Oto jak parsować i emitować YAML:
<?php
// Parsowanie YAML
$yamlString = <<<YAML
greet: Hello, World!
framework:
name: Symfony
language: PHP
YAML;
$array = yaml_parse($yamlString);
print_r($array);
// Tworzenie YAML z tablicy
$array = [
'greet' => 'Hello, YAML!',
'framework' => [
'name' => 'Symfony',
'language' => 'PHP',
],
];
$yaml = yaml_emit($array);
echo $yaml;
Wyjście będzie podobne do komponentu Symfony, ilustrując rolę YAML jako mostu między formatem czytelnym dla człowieka a strukturami tablic PHP, co ułatwia łatwiejszą konfigurację i obsługę danych.