728x90
반응형
질문 : PHP에서 정적 코드 분석을 수행하려면 어떻게해야합니까?
PHP 소스 파일에 대한 정적 분석 도구가 있습니까?
바이너리 자체는 구문 오류를 확인할 수 있지만 다음과 같이 더 많은 작업을 수행하는 것을 찾고 있습니다.
- 사용하지 않는 변수 할당
- 먼저 초기화되지 않고에 할당 된 배열
- 그리고 아마도 코드 스타일 경고
- ...
반응형
답변
php
를 실행하여 실행하지 않고 구문의 유효성을 검사합니다.
php -l FILENAME
상위 수준의 정적 분석기에는 다음이 포함됩니다.
- php-sat -http ://strategoxt.org/ 필요
- PHP_Depend
- PHP_CodeSniffer
- PHP 메스 감지기
- PHPStan
- PHP-CS-Fixer
- 팬
하위 수준 분석기에는 다음이 포함됩니다.
- PHP_Parser
- token_get_all (기본 함수)
PHP의 동적 특성으로 인해 몇 가지에 더 유용한 런타임 분석기는 다음과 같습니다.
- Xdebug 에는 코드 커버리지 와 함수 추적이 있습니다.
- 내 PHP Tracer 도구 는 Xdebug의 함수 추적을 기반으로하는 결합 된 정적 / 동적 접근 방식을 사용합니다.
문서 라이브러리 phpdoc 및 Doxygen 은 일종의 코드 분석을 수행합니다. 예를 들어 Doxygen은 Graphviz로 멋진 상속 그래프를 렌더링하도록 구성 할 수 있습니다.
또 다른 옵션은 Xdebug와 유사하지만 더 가볍기 때문에 프로덕션 서버에 적합한 xhprof입니다. 이 도구에는 PHP 기반 인터페이스가 포함되어 있습니다.
출처 : https://stackoverflow.com/questions/378959/how-can-i-perform-static-code-analysis-in-php
728x90
반응형
'프로그래밍 언어 > PHP' 카테고리의 다른 글
PHP에서 문자열의 마지막 문자를 얻는 방법 (0) | 2021.07.29 |
---|---|
htmlentities () vs htmlspecialchars () (0) | 2021.07.27 |
PHP 배열이 연관 또는 순차적인지 확인하는 방법 (0) | 2021.07.21 |
PHP에서 주어진 키의 값으로 연관 배열의 배열을 정렬하는 방법 (0) | 2021.07.21 |
PHP에서 "Headers already sent"오류를 수정하는 방법 (0) | 2021.07.21 |