Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
YAML là gì? Cách đọc file YAML trong lập trình PHP/Perl/Python - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

YAML là gì?

YAML (YAML Ain’t Markup Language) là một chuẩn dữ liệu kiểu serialization mà có thể được sử dụng bởi các ngôn ngữ lập trình khác nhau. Nó thường được áp dụng để tạo ra các tệp cấu hình cho nhiều ứng dụng khác nhau, ví dụ như Docker Compose.

Thông tin cơ bản:

  • Version mới nhất: 1.2
  • Định dạng mở rộng: .yaml, .yml
  • Tổ chức: yaml.org

Cú pháp cơ bản

Định nghĩa cấu trúc một danh sách (list) hay mảng (array)

# Programing Languages
- PHP
- Perl
- NodeJS

# Shopping list
[milk, pumpkin pie, eggs, juice]

Định nghĩa kiểu dữ liệu key-value

# Indented Block
name: Nguyen Van A
age: 33
# Inline Block
{name: Nguyen Van A, age: 33}

Định nghĩa ký tự dạng chuỗi, ký tự dạng chuỗi không yêu cầu dấu quote

data: |
   There once was a short man from Ealing
   Who got on a bus to Darjeeling
       It said on the door
       "Please don't spit on the floor"
   So he carefully spat on the ceiling

data: >
   Wrapped text
   will be folded
   into a single
   paragraph

   Blank lines denote
   paragraph breaks

Định nghĩa 1 đối tượng

customer:
    first_name:   Dorothy
    family_name:  Gale

Đọc 1 file YAML sử dụng ngôn ngữ lập trình

Đọc file YAML trong Perl

Sử dụng thư viện Perl có tên là YAML::XS để đọc bất kỳ file YAML nào. Để cài đặt module này các bạn sử dụng cài thông qua cpan

cpan YAML::XS

Đoạn code example, mà mình sử dụng để load 1 file config.yml

#!/usr/bin/perl
#
# Read YAML Config File by vinasupport.com
#

use strict;
use warnings;
use YAML::XS 'LoadFile';
use Data::Dumper;
    
my $config = LoadFile('config.yaml');
print Dumper($config);

Đọc file YAML trong PHP

Để đọc file yaml trong PHP, các bạn có thể sử dụng function yaml_parse_file được PHP hỗ trợ sẵn. Đoạn code example như bên dưới.

<?php
function cb_yaml_date($value, $tag, $flags) {
    return new DateTime($value);
}

$yaml = <<<YAML
event1:
  name: My Event
  date: !date 25.05.2001
YAML;

$ndocs = 0;
$data = yaml_parse($yaml, 0, $ndocs, array('!date' => 'cb_yaml_date'));

print_r($data);

Ngoài ra PHP còn có rất nhiều thư viện bên ngoài như:

Đọc file YAML trong Python

Trong Python, để đọc file yaml thì chúng ta cài đặt thư viện PyYAML thông qua pip3

pip3 install PyYAML

Đoạn sample code đọc yaml trong Python 3

#!/usr/bin/env python3
import yaml

with open("configs.yaml", 'r') as stream:
    try:
        print(yaml.safe_load(stream))
    except yaml.YAMLError as error:
        print(error)

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *