phanalist
version for Sarif output.
PHP의 성능 정적 분석기는 사용하기가 매우 쉽습니다. PHP 코드에서 일반적인 실수를 겪는 데 도움이됩니다.
Phanalist를 설치하는 가장 간단한 방법은 설치 스크립트를 사용하는 것입니다.
curl --proto ' =https ' --tlsv1.2 -sSf https://raw.githubusercontent.com/denzyldick/phanalist/main/bin/init.sh | sh플랫폼의 실행 파일을 자동으로 다운로드합니다.
$ ~ /phanalist -V
phanalist 1.0.0여러 다른 설치 옵션도 있습니다.
프로젝트 소스를 분석하려면 phanalist 실행하면됩니다.
~ /phanalist
첫 번째 실행에서 phanalist.yaml 기본 구성으로 생성됩니다. 그리고 그것은 다음과 같은 모든 실행에서 재사용 될 것입니다.
몇 가지 추가 매개 변수도 있습니다.
config : 구성 파일의 경로 ./phanalist.yaml 은 기본값입니다.src : 프로젝트 소스로가는 경로 ./src 는 기본값입니다.output-format : 결과를 출력하는 데 사용되는 형식입니다. 가능한 옵션은 text (기본값), json 및 sarif 입니다.summary-only : 출력 각 규칙에 대한 발견 된 위반량 만.quiet : 모든 출력을 억제합니다.가능한 옵션은 다음과 같습니다.
enabled_rules 에는 사용할 규칙 목록이 포함되어 있습니다. 이 목록이 비어 있으면 모든 규칙이 사용됩니다.disable_rules 에는 무시할 규칙 목록이 포함되어 있습니다.rules 규칙 별 옵션.기본 구성 파일은 다음과 같습니다.
enabled_rules : []
disable_rules : []
rules :
E0007 :
check_constructor : true
max_parameters : 5
E0009 :
max_complexity : 10
E0010 :
max_paths : 200
E0012 :
include_namespaces :
- " App \ Service \ "
- " App \ Controller \ "
exclude_namespaces : []다음 규칙을 사용할 수 있습니다.
| 암호 | 이름 | 기본 옵션 |
|---|---|---|
| E0000 | 예제 규칙 | |
| E0001 | 열기 태그 위치 | |
| E0002 | 빈 캐치 | |
| E0003 | 메소드 수정 자 | |
| E0004 | 대문자 상수 | |
| E0005 | 자본화 된 클래스 이름 | |
| E0006 | 속성 수정 자 | |
| E0007 | 메소드 매개 변수 계수 | check_constructor : true, max_parameters : 5 |
| E0008 | 반환 유형 서명 | |
| E0009 | 순환 복잡성 | max_complexity : 10 |
| E0010 | npath 복잡성 | max_complexity : 200 |
| E0011 | 오류 억압 기호 감지 (@) | |
| E0012 | 공유 메모리 모델과의 서비스 호환성 | 포함 _namespaces : [ "app service "], exclude_namespaces : [], Reset_interfaces : [ "Resetinterface"] |
| E0013 | 개인 방법이 사용되지 않습니다 |
새로운 규칙을 추가하는 것은 간단한 작업 이며이 자습서는이를 수행하는 방법을 설명합니다.
프로젝트의 내부를 이해하려면 https://dev.to/denzyldick에서 일련의 장을 읽으십시오. 이 프로젝트에 대한 훌륭하고 읽기 쉬운 소개입니다.