PHP:
การทำงานกับ YAML

วิธีการ:

PHP ในการเติบโตปัจจุบันของมัน ไม่รองรับการประมวลผล YAML เป็นส่วนหนึ่งของไลบรารีมาตรฐาน วิธีที่ง่ายที่สุดในการทำงานกับ YAML ใน PHP คือการใช้คอมโพเนนท์ YAML ของ Symfony หรือส่วนขยาย yaml PECL

การใช้งานคอมโพเนนท์ 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: สวัสดี, โลก!
framework:
  name: Symfony
  language: PHP
YAML;

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

// การสร้าง YAML จากอาร์เรย์
$array = [
    'greet' => 'สวัสดี, YAML!',
    'framework' => [
        'name' => 'Symfony',
        'language' => 'PHP',
    ],
];

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

ผลลัพธ์ตัวอย่างเมื่อแยก:

Array
(
    [greet] => สวัสดี, โลก!
    [framework] => Array
        (
            [name] => Symfony
            [language] => PHP
        )

)

ผลลัพธ์ตัวอย่างเมื่อเก็บ:

greet: สวัสดี, YAML!
framework:
    name: Symfony
    language: PHP

การใช้ส่วนขยาย yaml PECL

หากคุณต้องการ หรือหากความต้องการของโครงการของคุณอนุญาต ส่วนขยาย PECL สามารถเป็นวิธีอื่นที่มีประสิทธิภาพในการทำงานกับ YAML ก่อนอื่น ตรวจสอบให้แน่ใจว่ามีการติดตั้งส่วนขยายนั้น:

pecl install yaml

จากนั้น เปิดใช้งานในการกำหนดค่า php.ini ของคุณ:

extension=yaml.so

นี่คือวิธีการแยกและส่งออก YAML:

<?php

// การแยก YAML
$yamlString = <<<YAML
greet: สวัสดี, โลก!
framework:
  name: Symfony
  language: PHP
YAML;

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

// การสร้าง YAML จากอาร์เรย์
$array = [
    'greet' => 'สวัสดี, YAML!',
    'framework' => [
        'name' => 'Symfony',
        'language' => 'PHP',
    ],
];

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

ผลลัพธ์จะคล้ายกับส่วนของ Symfony แสดงให้เห็นถึงบทบาทของ YAML เป็นสะพานระหว่างรูปแบบที่อ่านได้โดยมนุษย์และโครงสร้างอาร์เรย์ PHP ทำให้การกำหนดค่าและการจัดการข้อมูลง่ายขึ้น