분류 php

PHP 패키지 체크리스트

컨텐츠 정보

  • 조회 362 (작성일 )

본문

단순히 유용한 코드를 갖는 것 이상으로 성공적인 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 파일이 있습니다.
  • 이 파일을 사용하여 테스트와 같은 프로젝트 요구 사항을 설명하십시오.