> 백엔드 개발 > PHP 튜토리얼 > 첫 번째 PHP 패키지를 구축하는 방법

첫 번째 PHP 패키지를 구축하는 방법

Karen Carpenter
풀어 주다: 2025-03-06 01:38:08
원래의
589명이 탐색했습니다.

How to  Build Your First PHP Package 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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