> 백엔드 개발 > PHP 튜토리얼 > Phing을 사용하여 PHP 빌드 도구

Phing을 사용하여 PHP 빌드 도구

William Shakespeare
풀어 주다: 2025-03-01 10:06:13
원래의
320명이 탐색했습니다.

Phing을 사용하여 PHP 빌드 도구 키 테이크 아웃

Phing은 단위 테스트 실행, 데이터베이스 변경 적용 및 애플리케이션 코드 배포와 같은 작업을 자동화하는 데 도움이되는 Apache Ant를 기반으로하는 PHP 프로젝트 빌드 도구입니다. 이것은 수동 프로세스, 특히 지속적인 통합 워크 플로에서 발생할 수있는 오류를 방지하는 데 도움이됩니다. Phing은 XML 파일을 사용하여 작업을 정의합니다. 이러한 작업은 대상으로 그룹화 될 수 있으며, 개별적으로 호출하거나 다른 대상에 의존 할 수 있습니다. 작업은 메시지 반영과 같은 간단한 작업에서부터 FTP 배포와 같은보다 복잡한 작업에 이르기까지 다양합니다. Phing은 또한 사용자 정의 작업을 생성 할 수 있습니다 Phing은 PHP- 특이 적 작업에만 국한되지 않지만 프레임 워크 특정 작업을 처리 할 수도 있습니다. 이것은 모든 PHP 프로젝트를위한 다용도 도구입니다. 또한 배포 프로세스 자동화, 오류 처리 및 문서 생성을 지원합니다. Phing은 Apache Ant를 기반으로 한 PHP 프로젝트 빌드 도구입니다. 빌드 시스템을 사용하면 단일 명령을 사용하여 작업 그룹을 수행 할 수 있습니다. PHP에 빌드 도구가 필요한 이유가 궁금하다면 로컬 컴퓨터에서 코드 및 단위 테스트를 작성하는 작업 흐름을 고려하고 테스트가 통과하면 코드를 준비/제작 서버에 업로드하고 프로덕션 데이터베이스를 변경하십시오. 빌드 파일이 없으면 각 단계를 수동으로 수행해야합니다. 지속적인 통합을 수행하는 경우 반복해서 같은 단계를 수행하게됩니다. 과정에서 실수로 무언가를 생략하고 생산에 심각한 문제가 발생하기가 너무 쉽습니다. Phing은 단위 테스트 실행, 데이터베이스 변경 사항 적용, 응용 프로그램 코드 배포 등과 같은 작업을 자동화하여 이러한 문제를 극복하는 데 도움이됩니다.이 기사에서는 Phing 작업의 기본 사항 중 일부를 보여줍니다. 아직 없으면 배를 사용하여 Phing을 설치할 수 있습니다.
shameer@yukon:~$ sudo pear channel-discover pear.phing.info
shameer@yukon:~$ sudo pear install phing/phing
로그인 후 복사
로그인 후 복사
phpunit 또는 phpdocumentor와 같은 작업을 사용하려면 종속 패키지를 설치해야합니다. Phing Hello World Phing을위한 빌드 파일을 만드는 것이 얼마나 쉬운 지 보여 주려면 "Hello World"빌드 파일로 시작하겠습니다. 먼저 프로젝트 디렉토리를 작성한 다음 내부에 다음 내용으로 build.xml이라는 파일을 만듭니다.

명령 줄에서 디렉토리로 이동하여 Phing을 실행하십시오.

요소는 빌드 파일의 루트 요소입니다. 속성 기본값이 필요하며 명령 줄에 제공되지 않은 경우 호출 할 기본 대상을 지정합니다. 그 외에도 프로젝트 이름, 프로젝트베이스 디렉토리 및 설명을 구성하는 데 도움이되는 설명을 지정할 수도 있습니다. 요소는 수행 할 수있는 명명 된 작업 그룹을 나타냅니다. 예를 들어, 다른 대상이 백업을 수행하거나 데이터베이스를 업데이트하기 위해 정의 될 수 있습니다. 대상은 또한 실행하기 전에 수행 해야하는 다른 대상에 의존 할 수 있습니다. 요소는 작업, 수행 할 수있는 단일 동작입니다. Phing에는 디렉토리 생성과 같은 간단한 작업에서 XSLT 변환을 수행하는 것과 같은보다 복잡한 작업에 이르기까지 다양한 핵심 작업이 있습니다. 그러나 Phing이 제공하는 작업에만 국한되지 않습니다. 사용자 정의 작업을 만들 수도 있습니다. 요소는 빌드 파일 전체에서 나중에 사용할 수있는 이름의 값을 정의합니다. 속성 값을 참조하려면“$ {”와“} 사이의 이름을 지정하십시오.". 속성 이름은 Phing에서 사례에 민감합니다. 빌드 파일 build.xml의 이름을 지정하는 것은 필수는 아니지만 Phing은 기본적 으로이 이름을 찾습니다. 다른 이름을 사용하는 경우 빌드 파일을 Phing 명령에 대한 인수로 지정해야합니다.
shameer@yukon:~$ sudo pear channel-discover pear.phing.info
shameer@yukon:~$ sudo pear install phing/phing
로그인 후 복사
로그인 후 복사
또한 명령 줄에서 하나 이상의 대상 이름을 제공하여 기본값 이외의 대상을 호출 할 수도 있습니다.
<span><?xml version="1.0" encoding="UTF-8"?>
</span><span><span><span><project</span> name<span>="HelloWorld"</span> default<span>="welcome"</span> basedir<span>="."</span> description<span>="a demo project"</span>></span>
</span> <span><span><span><property</span> name<span>="message"</span> value<span>="Hello World!"</span>/></span>
</span> <span><span><span><target</span> name<span>="welcome"</span>></span>
</span>  <span><span><span><echo</span> msg<span>="${message}"</span>/></span>
</span> <span><span><span></target</span>></span>
</span><span><span><span></project</span>></span></span>
로그인 후 복사
다중 대상

빌드 스크립트를 수정하고 추가 대상을 추가해 봅시다. 예를 들어 프로젝트에 다음과 같은 디렉토리 구조가 마련되었다고 가정합니다.

build.xml 업데이트 이제 다음과 같이 보입니다. Phing을 사용하여 PHP 빌드 도구 두 개의 대상이 추가, 테스트 및 빌드되었으며 기본 대상이 빌드하도록 변경되었습니다. 이제 프로젝트 디렉토리에서 Phing을 실행하면 빌드 대상을 호출 하며이 대상은 테스트 대상에 의존하기 때문에 Phing은 먼저 테스트 대상을 실행합니다. 작업은 phpunit을 호출합니다. 단위 테스트가 실패하면 빌드 프로세스가 계속되지 않기 때문에

haltonfailure 속성이 True가 설정되었습니다. 는 여러 개의 중첩 된 요소에서 파일을 포함 할 수 있습니다. 단위 테스트가 성공적으로 실행 된 후 빌드 대상은 에 지정된 파일을 를 사용하여 대상 디렉토리에 복사합니다. 여기에 파일 이름을 제공하는 대신 refid가 사용됩니다. 이것은 id srcfiles와 함께 이전에 선언 한 을 참조합니다. 복잡한 정규식이 있거나 여러 곳에서 동일한 파일을 참조해야 할 때 파일 세트를 정의하고 이와 같이 참조하는 것이 도움이됩니다. 작업은 주어진 자격 증명과 함께 FTP를 사용하여 원격 서버에 연결하고 파일 세트에 지정된 파일을 전송합니다.
shameer@yukon:~/HelloWorld$ phing
Buildfile: /home/shameer/HelloWorld/build.xml

HelloWorld > welcome:

     [echo] Hello World!

BUILD FINISHED

Total time: 0.2275 seconds
로그인 후 복사
요약 이 기사에서는 PHP 빌드 도구 페이 링을 소개했습니다. 예를 들어 여기에서 논의한 것보다 Phing에는 훨씬 더 많은 것이 있습니다. 예를 들어 데이터베이스 마이그레이션에 도움이 될 수 있습니다. 이 강력한 도구가 할 수있는 모든 것을 볼 수 있도록 Phing의 훌륭한 문서를 읽는 것이 좋습니다. Dino O / ShutterStock을 통한 이미지 사용에 대한 자주 묻는 질문 (FAQ) Phing 빌드 파일의 기본 구조는 무엇입니까?

Phing 빌드 파일은 실행될 작업을 정의하는 XML 파일입니다. 이름, 기본값 및 기반과 ​​같은 속성이 포함 된 태그로 시작합니다. 태그는 함께 실행할 수있는 일련의 작업을 정의합니다. 각 작업은 , 등과 같은 특정 XML 태그로 표시됩니다. 작업은 대상에 나타나는 순서대로 실행됩니다. 지속적인 통합을 위해 Phing을 사용하는 방법은 무엇입니까?

Phing은 지속적인 통합에 사용하여 빌드 및 배포 프로세스를 자동화 할 수 있습니다. 코드 라인, 단위 테스트, 문서 생성, 코드 포장 및 서버에 배포하는 작업을 정의 할 수 있습니다. 코드 저장소에 변경 될 때마다 이러한 작업을 자동으로 트리거 할 수 있습니다.

사용자 정의 작업으로 페이를 확장하려면 어떻게해야합니까?

Phing을 사용하면 작업 클래스를 확장하여 사용자 정의 작업을 생성 할 수 있습니다. 작업의 동작을 정의하는 메인 () 메소드를 구현해야합니다. 사용자 정의 작업 클래스가 생성되면 빌드 파일의

태그를 사용하여 작업을 등록 할 수 있습니다. Phing 및 Ant 또는 Maven과 같은 다른 빌드 도구의 차이점은 PHP 프로젝트를 위해 특별히 설계되었지만 Ant 및 Maven은 Java를 위해 특별히 설계되었습니다. Phing은 ANT와 같은 빌드 파일에 XML을 사용하지만 PHPUnit 테스트 실행 또는 PHPDocumentor 문서 생성과 같은 PHP 특이 적 작업을위한 내장 작업이 있습니다. 반면에 Maven은 컨벤션-오버 컨퍼런스 접근법을 사용하고보다 복잡한 수명주기를 가지고 있습니다.

Phing의 오류를 어떻게 처리 할 수 ​​있습니까?

Phing은 오류를 처리하는 몇 가지 방법을 제공합니다. 특정 조건이 충족되면 작업을 사용하여 빌드 프로세스를 중지 할 수 있습니다. 작업을 사용하여 예외를 포착하고 적절하게 처리 할 수 ​​있습니다. 또한 오류가 발생할 때 표시되는 정보의 양을 제어하기 위해 로깅 레벨을 구성 할 수 있습니다. Laravel 또는 기타 PHP 프레임 워크와 함께 Phing을 사용할 수 있습니까?

예, Phing은 Laravel 또는 기타 프레임 워크를 포함한 모든 PHP 프로젝트에서 사용할 수 있습니다. 마이그레이션 실행 또는 데이터베이스 시드와 같은 프레임 워크 별 작업을 처리하는 작업을 정의 할 수 있습니다.

페이 작업을 어떻게 병렬로 실행할 수 있습니까?

Phing은 상자에서 평행하게 실행 작업을 지원하지 않습니다. 그러나 배경에서 별도의 피싱 프로세스를 실행하기 위해 작업을 사용하여이를 달성 할 수 있습니다.

피크를 사용하여 응용 프로그램을 배포 할 수 있습니까?

예, Phing을 사용하여 배포 프로세스를 자동화 할 수 있습니다. 응용 프로그램 패키지를 정의하고 응용 프로그램을 정의하고 서버에 업로드 한 후 필요한 설정 작업을 수행 할 수 있습니다. Phing에서 변수를 어떻게 사용할 수 있습니까?

태그를 사용하여 변수를 정의하고 나중에 빌드 파일에서 사용할 수 있습니다. 변수는 속성 파일, 명령 줄 또는 환경에서 설정할 수 있습니다. 프로젝트에 대한 문서를 생성하기 위해 Phing을 사용 할 수 있습니까? 예, Phing은 phpdocumentor 또는 apigen과 같은 도구를 사용하여 문서를 생성하기위한 내장 작업이 있습니다. 소스 및 대상 디렉토리, 출력 형식 및 기타 옵션을 지정하여 문서 생성 프로세스를 구성 할 수 있습니다.

위 내용은 Phing을 사용하여 PHP 빌드 도구의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿