패키지의 파일 구성
6421 단어 BEAR.Sunday
Packagist에 등록된 패키지는 표준 파일/디렉토리 구조가 어느 정도 있지만 작성자와 종속 프레임워크에 따라 미묘한 차이가 있을 수 있습니다.
표준적이고 CI용 설정이 완비된 포장 구성은?이 점에서 토론의 현재 구성을 소개하다.(Aura 프레임과 비슷한 구조BEAR.Sunday 사용)
패키지 폴더 이름
. (점) 구분자 {공급업체 이름}.{포장 이름}.아우라랑 똑같아요.
bin
PHP 실행 파일을 저장합니다.
src
libs
,lib
등src
도 있다.src의 클래스 파일은 예외와 모조 등을 제외하고는 하위 디렉터리를 만들지 않고 평평하게 설정합니다.trait는 원칙적으로 2차 분사 코드를 제외한 코드를 사용하지 않는다.tests
bootstrap.php
파일을 tests
폴더에 넣습니다.phpunit.xml.dist
를 프로젝트의 루트 페이지phpunit
에 놓으면 파라미터가 없이 테스트를 할 수 있습니다.namespace는 대응하는 src와 같습니다.그러면 가져올 필요가 없습니다
use
.Mock과 Stub은 모두 Fake의 접두사tests/Fake
를 붙여서 폴더에 저장합니다.docs
docs/demo
에 프레젠테이션 코드가 설정되어 있습니다.다른 문서가 있으면 이 폴더에 놓으십시오.LICENSE
MIT가 많은 것 같아요.파일 이름은
LICENSE
이고 확장자는 없습니다.CI/QA 설정 파일
phpunit.xml.dis
<phpunit bootstrap="tests/bootstrap.php">
<testsuites>
<testsuite>
<directory suffix="Test.php">tests</directory>
</testsuite>
</testsuites>
<logging>
<log type="coverage-html" target="build/coverage"/>
<log type="coverage-clover" target="build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
<filter>
<whitelist>
<directory suffix=".php">src</directory>
</whitelist>
</filter>
</phpunit>
.scrutinizer.ymlfilter:
paths: ["src/*"]
tools:
external_code_coverage: true
php_code_coverage:
timeout: 1200
php_sim: true
php_mess_detector: true
php_pdepend: true
php_analyzer: true
php_cpd: true
php_mess_detector:
enabled: true
config:
ruleset: ./phpmd.xml
php_code_sniffer:
enabled: true
config:
ruleset: ./phpcs.xml
.travis.ymllanguage: php
php:
- 5.5
- 5.6
- hhvm
- 7
install: travis_retry composer install --no-interaction --prefer-source
script:
- if [ "$TRAVIS_PHP_VERSION" == "hhvm" ]; then phpunit; fi
- if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then phpunit --coverage-text --coverage-clover=coverage.clover; fi
after_script:
- wget https://scrutinizer-ci.com/ocular.phar
- if [ "$TRAVIS_PHP_VERSION" != "hhvm" ]; then php ocular.phar code-coverage:upload --format=php-clover coverage.clover; fi
hhvm
덮어쓰기 값이 불안정합니다TRAVIS_PHP_VERSION
.10.0
와 테스트 커버100%
를 기준으로 한다.compooser test에서 QA 도구 실행의phpmd.xml/phpcs.xml
Reference
이 문제에 관하여(패키지의 파일 구성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/koriym/items/0c11723bf4f36b9b910f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)