PHP 패키지를 처음부터 처음부터 공유하고 다른 PHP 개발자와 공유하고 싶습니까? 이 종속성 관리 도구 인 Composer는이 프로세스를 쉽게 만듭니다! Composer 덕분에 PHP에는 최고의 패키지 생태계 중 하나가 있습니다. PHP 패키지를 단계별로 만드는 방법을 자세히 살펴 보겠습니다.
시작하기
이 기사는 주로 PHP 초보자 (또는 PHP 패키지 작성 초보자)를 목표로하며, 처음부터 PHP 패키지를 만드는 방법을 배우는 데 도움이됩니다.
새 PHP 패키지 생성은 다음과 같은 작업이 필요합니다.
git 리포지토리 를 초기화하십시오
작성 및 구성
파일
의존성 설치
자동 하중 설정
공허한 github 프로젝트를 먼저 생성하고 로컬로 복제 할 수 있지만, 새 폴더를 로컬로 직접 작성하고 프로젝트를 초기화 한 다음 소스 코드를 github로 푸시합니다.
명령은 대화식으로 프로젝트를 설정하고 패키지 이름, 저자, 라이센스 등을 설정하고 패키지 종속성을 검색하도록 안내합니다. 당신은 당신이 원하는 대로이 정보를 작성할 수 있지만, 간결성을 위해, 우리가 시작하는 곳은 다음과 같습니다.
패키지의 기본 구성이 있지만 많은 작동하지 않습니다. 패키지가 핵심 PHP 언어 만 사용하는 경우 일부 패키지에는 종속성이 필요하지 않습니다. 어쨌든 패키지 사용자가 프로젝트에 기능 및 클래스를로드 할 수 있도록 자동로드를 설정해야합니다.
로컬 체크 아웃을 GitHub와 같은 버전 제어 시스템에 연결할 준비가되면 원격 저장소를 추가하기위한 지침을 따라갈 수 있습니다. 다음 명령과 유사 할 수 있습니다
-
자동 하중 설정
Basic 를 작성한 후에는 소스 코드를 계속 만들 수 있습니다. 프로젝트에 소스 코드를 저장할 위치를 결정해야합니다. 폴더는 마음대로 이름을 지정할 수 있지만 일반적인 "표준"은 - 또는 composer.json입니다. Composer는 사용중인 경로를 신경 쓰지 않지만 Composer에게 PSR-4를 사용하여 파일을 자동으로로드하도록 지시해야합니다. 폴더를 사용하고 샘플 패키지에 대한 클래스를 만들어 봅시다 :
.
-
다음, 파일을 열고
키를 사용하여 autoloader를 구성하십시오 :
-
키의 속성은 키 키 네임 스페이스를 폴더에 매핑합니다.
폴더에서 파일을 만들 때
네임 스페이스에 매핑됩니다. 이 예에서는 Laravel News JSON 피드를 요청하고 반환하는 파일을 만듭니다. 학습중인 경우 다음 코드를
에 추가하십시오 : $ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码
로그인 후 복사
로그인 후 복사
로그인 후 복사
우리는 어떻게 새로운 수업을 즉시 시도합니까? composer init
로컬 작곡가 종속성을 통해 다른 프로젝트 에이 패키지를 요구하고 코드를 GitHub로 푸시하고 패키지에서 를 실행하는 것과 같은 몇 가지 방법이 있습니다. 그러나 프로젝트의 루트 디렉토리에 파일을 만들어 시도 할 수도 있습니다.
dev-main
우리는 Composer 's Autoloader를 사용하여 패키지의 파일을로드하는 방법을 알고 있습니다. 작곡가가 파일을 찾는 방법을 이해하려면 composer update
: 를 실행해야합니다.
index.php
에 추가 한 후 명령을 실행할 수도 있습니다.
$ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码
로그인 후 복사
로그인 후 복사
로그인 후 복사
run run 파일을 사용하면 패키지 사용을 신속하게 시작할 수 있지만 테스트 스위트를 만들어 코드를 사용할 수도 있습니다. 설정하는 방법을 파헤쳐 봅시다!
패키지 테스트 및 개발 종속성
composer install
나는 당신이 참여한 프로젝트에 대한 테스트 작성을 권장하며 가능한 빨리 테스트를 설정하는 것을 좋아합니다. PHP 패키지를 만들 때 가장 일반적인 테스트 프레임 워크는 PHPUnit입니다. 최근에 내가 가장 좋아하는 선택은 해충 PHP이며, 설정하기 쉬운 방법을 좋아할 것입니다!
작곡가 패키지에는 두 가지 요구 사항 세트가 있습니다. 부분에는 패키지가 실행되는 데 필요한 패키지가 포함되어 있으며 부분에는 테스트에 필요한 패키지가 포함되어 있습니다. 지금까지 우리는 {
"name": "laravelnews/feeds",
"description": "获取Laravel-News.com的文章",
"type": "library",
"require": {}
}
로그인 후 복사
패키지가 없으며 다른 패키지 종속성이 필요하지 않은 경우 발생할 수 있습니다.
나는 당신이 자신의 테스트 프레임 워크를 처음부터 쓰고 싶지 않기 때문에 첫 번째 개발 종속성을 설치하려고합니다. 또한 실시간 JSON 엔드 포인트를 요청하고 싶지는 않으므로 HTTP 통화를 시뮬레이션하기 위해 모의 라이브러리 (Mockery)를 설치합니다.
composer.json
팁 : 종속성을 구성하려면 다음 구성 옵션으로 패키지 정렬 구성을 권장합니다.
dump-autoload
해충과 조롱을 설치 한 후 를 실행하여 코드를 테스트 할 수 있습니다.
당신은 원하는 방식으로 패키지 테스트를 구성 할 수 있으며 해충 설정에 대한 자세한 내용은 해충 문서를 확인하는 것이 좋습니다. index.php
다음, 패키지 테스트를 시연하는 데 사용할 수있는 간단한 클래스를 만들어 봅시다. 이 수업은 Laravel News JSON 피드에서 최신 기사를 얻고 최신 기사로 돌아갑니다.
우리는이 가상의 클래스 를 지명하고 다음 내용이있는 파일에 추가했습니다.
는
클래스를 종속성으로 사용하고 테스트에서이를 조롱 할 것입니다.
다음으로 파일 에이 파일을 만들고 다음 테스트를 추가하여
메소드를 확인합니다 : .$ mkdir example-package
$ cd ./example-package
$ git init
$ echo "/vendor/" >> .gitignore
$ composer init
$ git add .
$ git commit -m"第一次提交"
# 稍后您可以添加远程仓库并推送源代码
로그인 후 복사
로그인 후 복사
로그인 후 복사
당신은이 테스트를 실행하고 를 실행하여 코드가 유효한지 확인할 수 있습니다. 원하는대로 실행 한 후 생성 된 샘플 테스트를 삭제할 수 있습니다. vendor/bin/pest
우리는 Git 리포지토리 초기화, PHP 패키지를 로 구성하고 소스 코드 및 테스트를 추가하고 해충으로 실행하는 것부터 많은 것을 다루었습니다. 여기에서 Packagist에 패키지를 게시 할 수 있습니다! pest --init
자세히 알아보십시오
는 가입하고 Packagist.org의 문서를 확인하여 새 버전의 패키지를 출시 할 것을 권장합니다. Packagist에서 패키지 버전을 업데이트하는 프로세스는 자동화 될 수 있습니다. 즉, 새 버전의 패키지에 태그가 표시되면 Packagist.org에 자동으로 나타납니다. composer.json
우리는 처음부터 패키지 만들기에 대해 단계별로 배웠지 만 Github을 사용하는 경우 조직이나 개인 프로젝트를위한 템플릿 저장소를 만들 수 있습니다! 다음 작곡가 패키지의 출발점으로 사용할 수있는 커뮤니티 별 패키지 프레임 워크가 있습니다.
위 내용은 첫 번째 PHP 패키지를 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!