Programming

PHP YAML 파서

procodes 2020. 8. 11. 21:04
반응형

PHP YAML 파서


PHP 용 좋은 YAML 파서를 아는 사람이 있습니까? 그렇다면이 라이브러리의 장단점은 무엇입니까?


최종 업데이트

: 2017 년 7 월 26 일

다음은 PHP에서 YAML 상태를 요약 한 것입니다.

  • C 라이브러리에 대한 래퍼 : 빠른 속도가 필요한 경우 다음을 원할 것입니다.
  • 순수 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);

 

심포니 프레임 워크는

YAML이 매우 많이 사용하게

그레 구 아르 휴 버트에 의해 블로그 게시물을

비 심포니 프로젝트에 자신의 YAML 라이브러리를 사용하는 방법을 보여줍니다.


Symfony2에는

대부분

의 YAML 1.2 사양 을 지원하는 YAML 구성 요소가 있습니다.

https://github.com/symfony/Yaml


프로젝트에서 YAML을 많이 사용하는 경우 spyc 또는 Symfony YAML과 같은 순수 PHP 라이브러리가 충분히 빠르지 않을 수 있습니다. C YAML 파서에 대해 최소한 두 개의 PHP 바인딩이 있습니다.

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

이 기사 http://devzone.zend.com/article/2585-using-yaml-with-php-and-pecl 에서 따르는 프로세스를 제안합니다.


 

sfYaml을

사용해보십시오 . 내가 아는 것이 최고입니다.Symfony와 Doctrine ORM이 이것을 사용하고 있습니다.그것을 얻으려면

Doctrine 1.2를 다운로드

 

sfYaml

하고

vendor

디렉토리 에서 추출하십시오 .귀하의 필요에 맞는지 알려주십시오.


YAML을 빠르게 테스트해야하는 경우

http://yaml-online-parser.appspot.com/을

구축했습니다 . 특히 배우는 동안 YAML을 작성하는 데 도움이됩니다.참고 URL :

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

반응형