단순히 유용한 코드를 갖는 것 이상으로 성공적인 PHP 패키지에 들어가는 많은 것들이 있습니다. 다음 체크리스트는 나머지 PHP 커뮤니티가 패키지를 심각하게 받아들이는 데 도움이 됩니다.
https://phppackagechecklist.com/
현명하게 이름 선택
- 이름이 이미 다른 프로젝트에서 사용되지 않았는지 확인하십시오.
- 이 이름과 PHP 네임 스페이스 간의 일관성을 유지하십시오.
- PHP 네임 스페이스에서 성이나 개인 핸들을 사용하지 마십시오.
공개적으로 소스 호스팅
- GitHub는 공개 프로젝트에 무료로 사용할 수 있습니다.
- GitHub는 문제, 기능 요청 및 풀 요청을 관리하는 데 유용합니다.
- 대안 : Bitbucket, GitLab.
Autoloader 친화적
- PSR-4 호환 오토로더 네임 스페이스를 사용하십시오.
- src 폴더에 코드를 넣으십시오.
Composer를 통해 배포
- PHP 용 종속성 관리자 인 Composer를 통해 라이브러리를 사용할 수 있도록 합니다.
- 주요 Composer 저장소 인 Packagist에 나열됩니다.
프레임 워크 불가지론
- 프로젝트를 하나의 프레임 워크로 제한하지 마십시오.
- 서비스 제공 업체를 제공하여 프레임 워크 별 지원을 제공합니다.
코딩 스타일 따르기
- PSR-12 코딩 스타일 가이드를 준수 할 것을 적극 권장합니다.
- PHP Coding Standards Fixer와 같은 자동화 된 코드 픽서를 사용하여 이 작업을 신속하게 수행하십시오.
- PHP Code Sniffer를 사용하여 코딩 표준을 자동으로 확인합니다.
단위 테스트 작성
- 대부분의 코드를 포함하는 것을 목표로 합니다.
- PHPUnit은 사실상의 PHP 단위 테스트 프레임 워크입니다.
- 대안 : phpspec, Behat, atoum, Codeception.
코드 DocBlock
- DocBlock은 인라인 문서 역할을 합니다.
- 또한 PhpStorm과 같은 IDE에서 코드 완성을 향상 시킬 수 있습니다.
- API 문서로 자동 변환 될 수 있습니다. phpDocumentor를 참조하십시오.
시맨틱 버전 관리 사용
- 의미 체계 버전 관리를 사용하여 버전 번호를 관리합니다.
- MAJOR.MINOR.PATCH 시스템을 따르십시오.
- 개발자가 변경 사항에 대해 걱정하지 않고 안전하게 업그레이드 할 수 있습니다.
- 릴리스에 적시에 태그를 지정하는 것을 잊지 마십시오!
변경 로그 유지
- 릴리스간에 이루어진 주목할만한 변경 사항을 표시합니다.
- Keep a CHANGELOG 형식을 고려하십시오.
지속적인 통합 사용
- 서비스를 사용하여 코딩 표준을 자동으로 확인하고 테스트를 실행하십시오.
- 여러 버전의 PHP에서 테스트를 실행하는 좋은 방법입니다.
- pull 요청이 제출되면 자동으로 실행될 수 있습니다.
- 참조 : Travis-CI, Scrutinizer, Circle-CI.
광범위한 문서 작성
- 좋은 문서는 모든 패키지의 성공에 필수적입니다.
- 최소한 저장소에 자세한 README를 포함하십시오.
- GitHub 페이지에서 문서 호스팅을 고려하세요.
- 대안 : 문서를 읽으십시오.
라이선스 포함
- 라이선스 포함은 수행 한 작업을 보호하는 데 도움이 되는 간단한 단계입니다.
- choosealicense.com을 참조하십시오. 대부분의 PHP 프로젝트는 MIT 라이선스를 사용합니다.
- 최소한 라이브러리에 LICENSE 파일을 포함하십시오.
- 또한 Docblock에 라이센스를 추가하는 것을 고려하십시오.
환영 기부
- 프로젝트에 대한 도움이 필요하면 반드시 요청하십시오!
- 프로젝트에 대한 기여를 환영하는 CONTRIBUTING 파일이 있습니다.
- 이 파일을 사용하여 테스트와 같은 프로젝트 요구 사항을 설명하십시오.