PHP:
עבודה עם YAML
איך לעשות:
PHP, כפי שהוא נמצא בגרסאותיו הנוכחיות, לא תומך בניתוח YAML כחלק מספרייתו הסטנדרטית. הדרך הפשוטה ביותר לעבוד עם YAML ב-PHP היא באמצעות רכיב YAML של Symfony או הרחבת PECL של yaml
.
שימוש ברכיב YAML של Symfony
ראשית, התקן את רכיב YAML של Symfony דרך 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, מקל על תצורה ועיבוד נתונים קל יותר.