PHP용 정적 분석 도구를 제공하는 Docker 이미지입니다. 사용 가능한 도구 목록과 설치 프로그램은 실제로 jakzal/toolbox
저장소에서 관리됩니다.
도커 허브 저장소: https://hub.docker.com/r/jakzal/phpqa/
야간 빌드: https://hub.docker.com/r/jakzal/phpqa-nightly/
latest
, debian
(Dockerfile)1.99.0
, 1.99
, 1.99.0-debian
, 1.99-debian
(Dockerfile)1.99.0-php8.1
, 1.99-php8.1
, php8.1-debian
, php8.1
(도커파일)1.99.0-php8.2
, 1.99-php8.2
, php8.2-debian
, php8.2
(도커파일)1.99.0-php8.3
, 1.99-php8.3
, php8.3-debian
, php8.3
(도커파일)alpine
(Dockerfile)1.99.0-alpine
, 1.99-alpine
, (Dockerfile)1.99.0-php8.1-alpine
, 1.99-php8.1-alpine
, php8.1-alpine
(Dockerfile)1.99.0-php8.2-alpine
, 1.99-php8.2-alpine
, php8.2-alpine
(Dockerfile)1.99.0-php8.3-alpine
, 1.99-php8.3-alpine
, php8.3-alpine
(Dockerfile) 매일 업데이트됨: latest
, debian
, alpine
, php8.4
, php8.4-alpine
등. 패치 버전 변경 시 업데이트됨: 1.61
, 1.61-php8.4
, 1.61-php8.4-alpine
등 업데이트 안 됨: 1.61.0
, 1.61.0-php8.4
, 1.61.0-php8.4-alpine
, 등.
더 이상 지원되지 않는 PHP 버전의 최신 태그는 다음과 같습니다.
1.92.7-php8.0
, 1.93-php8.0
, php8.0-debian
, php8.0
(도커파일)1.92.7-php8.0-alpine
, 1.93-php8.0-alpine
, php8.0-alpine
(Dockerfile)1.80.0-php7.4
, 1.80-php7.4
, php7.4-debian
, php7.4
(도커파일)1.80.0-php7.4-alpine
, 1.80-php7.4-alpine
, php7.4-alpine
(Dockerfile)1.61.2-php7.3
, 1.61-php7.3
, php7.3-debian
, php7.3
(debian/Dockerfile)1.61.2-php7.3-alpine
, 1.61-php7.3-alpine
, php7.3-alpine
(alpine/Dockerfile)1.44.0-php7.2
, 1.44-php7.2
, php7.2
(7.2/debian/Dockerfile)1.44.0-php7.2-alpine
, 1.44-php7.2-alpine
, php7.2-alpine
(7.2/alpine/Dockerfile)1.26.0-php7.1
, 1.26-php7.1
, php7.1
(7.1/debian/Dockerfile)1.26.0-php7.1-alpine
, 1.26-php7.1-alpine
, php7.1-alpine
(7.1/alpine/Dockerfile) 이름 | 설명 | PHP 8.1 | PHP 8.2 | PHP 8.3 | PHP 8.4 |
---|---|---|---|---|---|
행동하다 | 비즈니스 기대치를 테스트하는 데 도움이 됩니다. | ||||
상자 | PHAR을 사용하는 빠르고 구성이 필요 없는 애플리케이션 번들러 | ||||
상자-3 | PHAR을 사용하는 빠르고 구성이 필요 없는 애플리케이션 번들러 | ||||
휘젓다 | 리팩토링을 위한 좋은 후보를 발견합니다. | ||||
암호수용 | Codeception은 BDD 스타일의 PHP 테스트 프레임워크입니다. | ||||
작곡가 | PHP용 종속성 관리자 | ||||
작곡가 빈 플러그인 | 격리된 위치에 빈 공급업체를 설치하는 Composer 플러그인 | ||||
작곡가 정규화 | Composer.json 파일을 정규화하는 Composer 플러그인 | ||||
작곡가 요구 검사기 | 패키지 소스에 알 수 없는 기호가 사용되지 않았는지 확인하세요. | ||||
작곡가-요구-검사기-3 | 패키지 소스에 알 수 없는 기호가 사용되지 않았는지 확인하세요. | ||||
작곡가 미사용 | 코드를 스캔하여 사용되지 않은 패키지 표시 | ||||
디페펜드 | 아키텍처의 결함 감지 | ||||
지원 중단 감지기 | 더 이상 사용되지 않는 코드의 사용법을 찾습니다. | ||||
deptrac | 소프트웨어 계층 간의 종속성 규칙을 적용합니다. | ||||
diffFilter | 단일 풀 요청에서 실행되도록 QA 도구를 적용합니다. | ||||
EC | 코딩 표준 검사 설정 및 실행 | ||||
전염병 | AST 기반 PHP Mutation 테스트 프레임워크 | ||||
라라스탄 | Laravel용 PHPStan 확장 | ||||
로컬-php-보안-검사기 | 알려진 보안 취약점에 대한 작성기 종속성을 확인합니다. | ||||
병렬 린트 | PHP 파일 구문을 확인합니다. | ||||
파라테스트 | PHPUnit에 대한 병렬 테스트 | ||||
p의존 | 정적 분석 도구 | ||||
해충 | 우아한 PHP 테스트 프레임워크 | ||||
판 | 정적 분석 도구 | ||||
벌집 | PHAR 설치 및 검증 환경 | ||||
PHP-CS-Fixer | PHP 코딩 표준 해결사 | ||||
PHP-퍼저 | 라이브러리에 '무작위' 입력을 제공하여 버그를 찾는 데 사용할 수 있는 PHP용 퍼저 | ||||
PHP-semver-검사기 | 의미론적 버전 관리에 따라 다음 버전을 제안합니다. | ||||
파파 | 약한 가정을 확인합니다. | ||||
파키텍트 | PHP 코드 베이스에 아키텍처 제약 조건을 적용하는 데 도움이 됩니다. | ||||
PHPat | 사용하기 쉬운 아키텍처 테스트 도구 | ||||
PHP벤치 | PHP 벤치마킹 프레임워크 | ||||
PHPCA | 내장되지 않은 확장 기능의 사용법을 찾습니다. | ||||
phpcb | PHP 코드 브라우저 | ||||
phpcbf | 코딩 표준 위반을 자동으로 수정합니다. | ||||
phpcodesniffer-컴포저-설치 | PHP_CodeSniffer 코딩 표준(규칙 세트)을 쉽게 설치할 수 있습니다. | ||||
phpcov | PHP_CodeCoverage 라이브러리의 명령줄 프런트엔드 | ||||
phpcpd | 복사/붙여넣기 감지기 | ||||
phpcs | 코딩 표준 위반 감지 | ||||
phpcs-보안-감사 | PHP 코드의 보안과 관련된 취약점 및 약점을 찾습니다. | ||||
phpdd | 더 이상 사용되지 않는 기능의 사용법을 찾습니다. | ||||
PHP문서 | 문서 생성기 | ||||
PHPinsights | 코드 품질, 스타일, 아키텍처 및 복잡성을 분석합니다. | ||||
PHPlint | Lints PHP 파일을 병렬로 | ||||
phploc | PHP 프로젝트의 크기를 빠르게 측정하는 도구 | ||||
phpmd | PHP 코드에서 문제를 찾는 도구 | ||||
phpmetrics | 정적 분석 도구 | ||||
PHPMND | 마법의 숫자를 감지하는 데 도움이 됩니다. | ||||
phpspec | SpecBDD 프레임워크 | ||||
PHPstan | 정적 분석 도구 | ||||
phpstan-금지 코드 | 프로젝트에서 원하지 않는 특정 기능에 대한 호출을 감지하기 위한 PHPStan 규칙 | ||||
phpstan-beberlei-assert | beberlei/assert용 PHPStan 확장 | ||||
phpstan-지원 중단 규칙 | 더 이상 사용되지 않는 코드를 감지하기 위한 PHPStan 규칙 | ||||
PHPstan 교리 | PHPStan용 교리 확장 | ||||
phpstan-ergebnis-규칙 | PHPstan에 대한 추가 규칙 | ||||
phpstan 예외 규칙 | 확인된 예외와 확인되지 않은 예외에 대한 PHPStan 규칙 | ||||
PHPstan-라라스탄 | larastan용 phpstan 별도 설치 | ||||
phpstan-phpunit | PHPStan용 PHPUnit 확장 및 규칙 | ||||
phpstan-엄격한 규칙 | PHPStan에 대한 매우 엄격하고 독선적인 규칙 | ||||
phpstan-심포니 | PHPStan용 Symfony 확장 | ||||
phpstan-webmozart-assert | webmozart/assert용 PHPStan 확장 | ||||
PHP 단위 | PHP 테스트 프레임워크 | ||||
phpunit-10 | PHP 테스트 프레임워크(10.x 버전) | ||||
PHPunit-8 | PHP 테스트 프레임워크(8.x 버전) | ||||
PHPunit-9 | PHP 테스트 프레임워크(9.x 버전) | ||||
파인트 | Laravel을 위한 독창적인 PHP 코드 스타일 수정 프로그램 | ||||
찬송가 | PHP 애플리케이션에서 오류를 찾습니다. | ||||
시편 플러그인 교리 | 시편이 교리를 더 잘 이해할 수 있도록 도와주는 스텁 | ||||
시편-플러그인-phpunit | PHPUnit용 시편 플러그인 | ||||
시편 플러그인 심포니 | Symfony용 시편 플러그인 | ||||
psecio 구문 분석 | 잠재적인 보안 관련 문제에 대해 코드를 스캔합니다. | ||||
교구 목사 | 즉각적인 코드 업그레이드 및 리팩토링을 위한 도구 | ||||
roave-역호환성-검사 | BC 중단을 확인하기 위해 클래스 API의 두 개정판을 비교하는 도구 | ||||
단순-phpunit | 레거시 테스트 및 더 이상 사용되지 않는 코드 사용을 보고하는 유틸리티를 제공합니다. | ||||
나뭇가지-CS-Fixer | 공식 코딩 표준 규칙에 따라 나뭇가지 파일을 자동으로 수정합니다. | ||||
나뭇가지 보푸라기 | 독립형 cli twig 1.X 린터 | ||||
나뭇가지 린터 | 독립형 cli twig 3.X 린터 | ||||
나뭇가지 | 나뭇가지에 빠진 체크스타일! | ||||
yaml-lint | YAML 파일 구문을 확인하기 위한 컴팩트 명령줄 유틸리티 |
일부 도구는 Docker 이미지에 포함되어 있지 않습니다. 해당 문서를 참조하여 사용하세요.
이름 | 요약 |
---|---|
분석하다 | 측정항목 및 소스 코드 시각화 |
박스 레거시 | 기존 버전의 상자 |
작곡가 정규화 | Composer.json 파일을 정규화하는 Composer 플러그인 |
디자인 패턴 | 디자인 패턴 감지 |
병렬 린트 | PHP 파일 구문을 확인합니다. |
PHP 커플링 감지기 | 코드 결합 문제 감지 |
PHP 포맷터 | 맞춤형 코딩 표준 해결사 |
phpcf | 더 이상 사용되지 않는 기능의 사용법을 찾습니다. |
PHPDA | 종속성 그래프 생성 |
phpdoc-to-typehint | PHPDoc을 기반으로 유형 힌트 및 반환 유형을 자동으로 추가합니다. |
phpstan-localheinz-규칙 | PHPstan에 대한 추가 규칙 |
보안 검사기 | 알려진 보안 취약점에 대한 작성기 종속성을 확인합니다. |
테스트 가능성 | PHP 코드베이스의 테스트 가능성 문제를 분석하고 보고합니다. |
이미지를 가져옵니다.
docker pull jakzal/phpqa
기본 명령은 사용 가능한 도구를 나열합니다.
docker run -it --rm jakzal/phpqa
컨테이너 내에서 선택한 도구를 실행하려면 -v "$(pwd):/project"
사용하여 컨테이너에 프로젝트 디렉터리를 마운트해야 합니다. 일부 도구는 /tmp
디렉토리(경우에 따라 PHPStan 또는 Behat 등)에 쓰기를 좋아하므로 docker 실행 간에 공유하는 것이 유용한 경우가 많습니다(예: -v "$(pwd)/tmp-phpqa:/tmp"
. 완료하는 데 너무 많은 시간이 걸리는 경우 선택한 도구를 중단하려면 --init
옵션을 사용할 수 있습니다. 자세한 내용은 docker run 설명서를 참조하세요.
docker run --init -it --rm -v " $( pwd ) :/project " -v " $( pwd ) /tmp-phpqa:/tmp " -w /project jakzal/phpqa phpstan analyse src
필요에 따라 이 명령을 조정하고 편의를 위해 별칭을 만들 수 있습니다.
alias phpqa= ' docker run --init -it --rm -v "$(pwd):/project" -v "$(pwd)/tmp-phpqa:/tmp" -w /project jakzal/phpqa:alpine '
~/.bashrc
에 추가하면 새 터미널 세션을 시작할 때마다 정의됩니다.
이제 명령이 훨씬 더 간단해졌습니다.
phpqa phpstan analyse src
git clone https://github.com/jakzal/phpqa.git
cd phpqa
make build-debian
알파인 버전을 빌드하려면:
make build-alpine
더 많은 팁과 요령을 보려면 요리책을 확인하세요.
이 프로젝트에 기여하는 방법을 알아보려면 기여 가이드를 읽어보세요. 이 프로젝트는 기여자 행동 강령과 함께 출시되었습니다. 이 프로젝트에 참여함으로써 귀하는 해당 약관을 준수할 것에 동의하게 됩니다.