PHP:
Travailler avec YAML
Comment faire :
PHP, dans ses itérations actuelles, ne supporte pas l’analyse de YAML comme partie de sa bibliothèque standard. La manière la plus directe de travailler avec YAML en PHP est d’utiliser le composant YAML de Symfony ou l’extension PECL yaml
.
Utiliser le composant YAML de Symfony
Tout d’abord, installez le composant YAML de Symfony via Composer :
composer require symfony/yaml
Ensuite, vous pouvez analyser et décharger le contenu YAML comme suit :
<?php
require_once __DIR__.'/vendor/autoload.php';
use Symfony\Component\Yaml\Yaml;
// Analyse de YAML
$yamlString = <<<YAML
greet: Bonjour, le monde !
framework:
name: Symfony
language: PHP
YAML;
$array = Yaml::parse($yamlString);
print_r($array);
// Créer du YAML à partir d'un tableau
$array = [
'greet' => 'Bonjour, YAML !',
'framework' => [
'name' => 'Symfony',
'language' => 'PHP',
],
];
$yaml = Yaml::dump($array);
echo $yaml;
Exemple de sortie lors de l’analyse :
Array
(
[greet] => Bonjour, le monde !
[framework] => Array
(
[name] => Symfony
[language] => PHP
)
)
Exemple de sortie lors du déchargement :
greet: Bonjour, YAML !
framework:
name: Symfony
language: PHP
Utiliser l’extension PECL yaml
Si vous préférez, ou si les exigences de votre projet le permettent, l’extension PECL peut être une autre manière efficace de travailler avec YAML. Tout d’abord, assurez-vous que l’extension est installée :
pecl install yaml
Puis, activez-la dans votre configuration php.ini
:
extension=yaml.so
Voici comment analyser et émettre du YAML :
<?php
// Analyse de YAML
$yamlString = <<<YAML
greet: Bonjour, le monde !
framework:
name: Symfony
language: PHP
YAML;
$array = yaml_parse($yamlString);
print_r($array);
// Créer du YAML à partir d'un tableau
$array = [
'greet' => 'Bonjour, YAML !',
'framework' => [
'name' => 'Symfony',
'language' => 'PHP',
],
];
$yaml = yaml_emit($array);
echo $yaml;
La sortie sera similaire à celle du composant Symfony, illustrant le rôle de YAML comme un pont entre le format lisible par l’homme et les structures de tableau PHP, facilitant ainsi la configuration et la manipulation des données.