programing

PHP YAML 파서

randomtip 2023. 1. 5. 23:53
반응형

PHP YAML 파서

PHP를 위한 좋은 YAML 파서를 아는 사람 있나요?만약 그렇다면, 이 도서관의 장점과 단점은 무엇인가요?

최종 갱신일 :2017년 7월 26일

다음은 PHP의 YAML 상태 요약입니다.

  • C 라이브러리:만약 당신이 순전히 속도를 필요로 한다면, 이겁니다.
    • php-yaml: LibYAML용 래퍼. PECL 확장자로 사용할 수 있으며 PHP 문서에도 있습니다.
    • syck: syck에 바인딩.PECL 확장으로도 사용할 수 있습니다.(날짜, 아래 참조)

  • 순수 PHP 구현:

    • sfYaml: Symfony의 YAML 컴포넌트.작가들의 동기는 여기서 볼 수 있다.그는 "사용하기 쉽고, 빠르고, 장치가 테스트되고, 명확한 오류 메시지가 있는" 제품을 원했다.
    • spyc: 의존관계가 없는 YAML 파서

이 문서 작성 시 상기 라이브러리의 최신 버전 출시일과 해당 라이브러리가 지원하는 YAML 스펙 버전(1.2는 최신 버전)은 다음과 같습니다.

php-yaml   1.3.0     2016-09-24     YAML 1.1  [PHP 5]
php-yaml   2.0.0     2016-09-24     YAML 1.1  [PHP 7]
syck       0.9.3     2008-11-18     YAML 1.0
sfYaml     3.3.5     2017-06-15     YAML 1.1, most of 1.2
spyc       0.6.2     2017-02-24     YAML 1.1 

Spyc: https://github.com/mustangostang/spyc

순수 PHP 구현이므로 설치를 위해 서버를 수정할 필요가 없습니다.속도가 매우 중요한 문제라면 이상적인 솔루션이 아닐 수 있지만, 구성이나 비교적 적은 양의 사용을 위해 YAML을 사용하는 경우에는 훌륭한 솔루션입니다.

YAML 문서를 지정하면 Spyc는 사용자가 원하는 대로 사용할 수 있는 어레이를 반환합니다.

require_once "spyc.php";
$data = Spyc::YAMLLoad($myfile);

어레이를 지정하면 Spyc는 데이터를 기반으로 작성된 YAML 문서를 포함하는 문자열을 반환합니다.

$yaml_str = Spyc::YAMLDump($myarray);

Symfony 프레임워크는 YAML을 매우 많이 사용하고 있습니다.Grégoire Hubert의 블로그 투고에서는 YAML 라이브러리를 비 Symfony 프로젝트에서 사용하는 것을 시연하고 있습니다.

Symfony2는 대부분의 YAML 1.2 사양을 지원하는 YAML 컴포넌트를 갖추고 있습니다.

https://github.com/symfony/Yaml

프로젝트에서 YAML을 많이 사용하는 경우 spyc나 Symfony YAML과 같은 순수 PHP 라이브러리가 충분히 빠르지 않다는 것을 알 수 있습니다.C YAML 파서에는 적어도2개의 PHP 바인딩이 있습니다.

  • yaml - LibYAML YAML 1.1 파서 라이브러리용 래퍼
  • syck - Syck YAML 1.0 파서 라이브러리용 래퍼

sfYaml을 시도해봐, 내가 아는 것 중 최고야.

Symfony와 독트린 ORM이 이것을 사용하고 있다.

입수하려면 , 「Trin 1.2」를 다운로드해, 추출할 수 있습니다.sfYaml부에서vendor디렉터리디렉토리로 이동합니다.

고객님의 요구에 부합하는지 알려주시기 바랍니다.

YAML을 빠르게 테스트해야 할 경우 http://yaml-online-parser.appspot.com/을 구축했습니다.YAML을 쓰는 데 도움이 되고, 특히 배우는 동안에도 도움이 됩니다.

언급URL : https://stackoverflow.com/questions/294355/php-yaml-parsers

반응형