YAML : PHP 프로젝트의 효율성을 향상시키기위한 데이터 직렬화 형식
테스트 장치, 구성 파일 및 로그 파일은 모두 사람과 기계 가독성을 모두 고려해야합니다. Yaml (Yaml Ai n't Markup Language)은 XML보다 간단한 데이터 직렬화 형식이며 소프트웨어 개발자에게 가독성으로 인기가 있습니다. YAML 파일에는 YAML 구문 규칙에 따라 작성된 텍스트 데이터 파일이 포함되어 있으며 일반적으로 확장자 .yml과 함께합니다. 이 기사는 YAML의 기본 사항과 PHP Yaml 파서를 PHP 프로젝트에 통합하는 방법을 소개합니다.
키 포인트 :
YAML은 XML보다 간단한 데이터 직렬화 형식이며, 가독성으로 인해 개발자에게 인기가 있습니다. 일반적으로 테스트 장치, 구성 파일 및 로그 파일에 사용되며 PHP Yaml 파서를 통해 PHP 프로젝트에 통합 될 수 있습니다.
yaml 구문을 이해하는 것은 PHP 개발자에게 중요합니다. YAML은 열거 배열 (YAML 항의 시퀀스) 및 PHP와 유사한 연관 배열 (매핑)을 나타냅니다. Yaml의 들여 쓰기는 탭이 아닌 공백을 사용해야합니다.
YAML은 XML을 대체하는 것으로 간주되어서는 안됩니다. 둘 다 장점이 있습니다. Yaml은 더 간단하고 쓰기 및 읽기가 쉽고 단일 상위 노드가있는 트리 구조가 필요하지 않습니다. 반면에 XML은 더 많은 내장 PHP 지원을 받고 있으며 응용 프로그램 간의 통신을 위해 널리 인식되고 있으며, 태그는 포함 된 데이터에 대한 자세한 정보를 제공 할 수있는 속성을 가질 수 있습니다.
PHP Yaml 파서를 선택하는 것은 프로젝트의 요구에 따라 다릅니다. PHP의 YAML 파서는 PECL 확장으로 사용될 수 있지만 Symfony 1.4 Yaml 구성 요소와 같은 순수한 PHP로 작성된 파서도 있습니다. PHP Yaml Parser를 PHP 프로젝트에 통합해야하며, 기능이 올바른지 확인하려면 포장지와 테스트 스위트가 필요합니다.
yaml 문법의 자세한 설명
YAML은 참조 및 사용자 정의 데이터 유형과 같은 고급 기능을 지원하지만 PHP 개발자는 YAML이 열거 된 배열 (YAML 항의 시퀀스) 및 연관 배열 (매핑)을 나타내는 방법에주의를 기울입니다. 다음은 Yaml에서 열거 된 배열의 표현입니다.
-
배열의 각 요소는 하이픈과 공간 후에 나타납니다. 값을 나타내는 구문은 PHP (참조 문자열 등)와 유사합니다. 위의 내용은 다음 PHP와 같습니다.
일반적으로, 각 요소는 Yaml의 별도의 선으로 나타나지 만 열거 배열은 사각형 브래킷을 사용하여 한 줄로 표현할 수 있습니다.
-
다음 코드는 Yaml에서 연관 배열을 나타내는 방법을 보여줍니다.
먼저 요소의 키를 선언 한 다음 결장 및 하나 이상의 공간을 선언 한 다음 값을 선언합니다. 결장 이후에 한 공간 만있는 것으로 충분하지만, 더욱 가독성을 높이기 위해 더 많은 공간을 사용할 수 있습니다. 위의 YAML의 동등한 PHP 배열은 다음과 같습니다.
-
열거 배열과 유사하게 브레이스를 사용하여 연관 배열을 연속으로 표시 할 수 있습니다.
압입을 위해 하나 이상의 공간을 사용하면 다음과 같은 다차원 배열을 나타낼 수 있습니다.<code class="language-yaml">- 2
- "William O'Neil"
- false</code>
두 번째 레이어 어레이는 열거 된 배열이지만 명확성을 위해 시퀀스 (하이픈) 대신 MAP (콜론)의 구문을 사용했습니다. 위의 YAML 블록은 다음 PHP와 같습니다.
yaml은 또한 루트 노드없이 동일한 문서에서 여러 데이터 요소 모음을 나타낼 수 있습니다. 다음 예제는 article.yml의 내용으로, 동일한 파일의 여러 다차원 배열을 보여줍니다.
<code class="language-php"><?php array(2, "William O'Neil", false);</code>
Yaml의 대부분의 구문은 직관적이고 기억하기 쉽지만주의가 필요한 중요한 규칙이 있습니다. 들여 쓰기는 하나 이상의 공간을 사용해야합니다. 탭 키를 눌렀을 때 탭 대신 공백을 삽입하기 위해 IDE를 구성 할 수 있습니다. 소프트웨어 개발자를위한 공통 구성으로 코드가 계약을 맺고 다른 편집기에서 볼 때 올바르게 표시되도록합니다. 공식 문서, Symfony References 또는 Wikipedia를 읽음으로써 Yaml에서 지원하는보다 복잡한 기능과 구문을 배울 수 있습니다.
(다음 내용은 원본 텍스트와 유사하지만 원본 의미를 변경하지 않도록 문장 조정 및 단어 교체가 만들어졌습니다.
yaml은 xml [ 2, "William O'Neil", false ]
의 대체물이 아닙니다
검색 엔진을 사용하여 YAML을 검색하면 의심 할 여지없이 "Yaml vs. XML"에 대한 토론을 찾을 수 있으며 자연스럽게 Yaml을 처음 경험할 때 읽기와 쓰기가 더 쉽기 때문에 더 좋아하는 경향이 있습니다. 그러나 YAML은 개발자 도구 상자의 또 다른 도구 여야하며 반드시 XML을 대체 할 필요는 없습니다. 다음은 Yaml과 XML의 장점 중 일부입니다.
yaml의 장점 :
더 간단하고 쓰기 쉽고 읽기 쉽습니다
단일 상위 노드가있는 트리 구조가 필요하지 않습니다
XML의 장점 :
yaml 보다 더 많은 내장 PHP 지원
XML은 항상 응용 프로그램 간의 의사 소통에 대한 사실적인 표준이었으며 널리 인정되었습니다
XML 태그에는 가 포함 된 데이터에 대한 자세한 정보를 제공하는 속성이있을 수 있습니다.
XML은 장점이지만 요소 계층이 YAML의 공간 지향 계층 표현보다 깊을 때 XML을 읽고 유지하기가 더 쉽습니다. 두 언어의 장점을 감안할 때 Yaml은 다른 데이터 세트의 모음에 더 적합한 것으로 보이며 인간도 데이터 사용자 일 때도 더 적합한 것으로 보입니다.
- Php Yaml Parser
를 선택하십시오
yaml 파서에는 두 가지 함수가 있어야합니다. yaml을 배열로 변환하는 일종의 로딩 함수와 배열을 Yaml로 변환하는 덤프 기능. 현재 PHP의 YAML 파서는 PECL 확장으로 사용될 수 있으며 PHP와 번들로 사용되지 않습니다. 또는 PECL 확장보다 약간 느린 순수한 PHP로 작성된 파서가 있습니다. 다음은 PHP에 사용할 수있는 Yaml 파서입니다.
-
pecl 확장 - php
와 함께 번들되어 있지 않습니다
서버의 루트 권한을 설치해야합니다
Symfony 1.4 Yaml 구성 요소 - php 로 구현 됨
-
는 PHP 버전 5.2.4 - 에서 사용할 수 있습니다
-
Symfony 프레임 워크에서 추출해야합니다
Symfony 2 Yaml 구성 요소 - php 와 함께 구현되었습니다
는 PHP 버전 5.3.2 에서 사용할 수 있습니다
spyc- php 로 구현 됨
나는 Symfony 1.4 Yaml 구성 요소가 휴대용 (PHP 5.2.4 버전에서 작동) 및 성숙 (Symfony 1.4는 완전한 PHP 프레임 워크)을 선호합니다. Symfony Archive에서 Yaml 구성 요소를 추출한 후 Yaml 클래스는 Lib/Yaml 아래에 있습니다. 정적 메소드로드 () 및 덤프 ()는 sfyaml 클래스에서 사용할 수 있습니다.
(다음 내용은 원본 텍스트와 유사하지만 원본 의미를 변경하지 않도록 문장 조정 및 단어 교체가 만들어졌습니다.
Php Yaml 파서를 프로젝트에 통합하십시오
타사 클래스 또는 라이브러리를 PHP 프로젝트에 통합 할 때마다 래퍼와 테스트 스위트를 만드는 것이 가장 좋습니다. 이를 통해 프로젝트 코드의 최소한의 변경으로 나중에 타사 라이브러리를 변경할 수 있으며 (프로젝트 코드는 래퍼 만 참조해야 함) 변경 사항이 기능을 중단하지 않도록합니다 (테스트 스위트가 알려줍니다). 아래는 래퍼 클래스 (yamlparser.php) 용으로 만든 테스트 케이스 (YamlParsertest.php)입니다. 테스트 사례를 실행하고 유지하려면 PHPUNIT를 이해해야합니다. 원하는 경우, 잘못된 파일 이름 및 .yml 이외의 파일 확장자와 같은 더 많은 테스트와 프로젝트에서 발생하는 시나리오를 기반으로 한 다른 테스트를 추가 할 수 있습니다.
(코드 부품의 다시 쓰기에는 많은 양의 공간이 필요하고 다시 작성된 코드는 원본 텍스트와 동일한 함수를 가지므로 여기에서 원래 텍스트의 코드 부분이 생략됩니다. 여기에서 생략됩니다. )
요약
이제 Yaml이 무엇인지, Yaml에서 PHP 배열을 표현하는 방법 및 프로젝트에서 PHP Yaml 파서를 통합하는 방법을 배웠습니다. Yaml 구문을 배우는 데 더 많은 시간을 소비하면 그것이 제공하는 힘을 마스터 할 수 있습니다. Yaml을 광범위하게 사용하는 Symfony 1.4 및 2 프레임 워크를 탐색하는 것을 고려할 수도 있습니다.
(원본 텍스트의 FAQ 부분은 여기에서 생략됩니다. FAQ 부품에는 많은 내용이 있고 다시 작성된 컨텐츠는 원본 텍스트와 동일한 기능을 갖기 때문에 여기서 생략됩니다) 🎜>
위 내용은 PHP 마스터 | PHP 프로젝트에서 Yaml 사용의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!