복붙노트

PHP 코드 파일 용 Lint와 같은 정적 코드 분석기가 있습니까? [닫은]

PHP

PHP 코드 파일 용 Lint와 같은 정적 코드 분석기가 있습니까? [닫은]

PHP 파일 용 정적 코드 분석기가 있습니까? 바이너리 자체는 구문 오류를 검사 할 수 있지만 사용되지 않는 변수 할당, 먼저 초기화되지 않고 할당 된 배열 및 코드 스타일 경고와 같은 더 많은 작업을 수행합니다. 오픈 소스 프로그램이 선호 될지 모르지만, 우리는이 프로그램을 강력하게 권장한다면 뭔가를 지불 할 것을 확신 할 수 있습니다.

해결법

  1. ==============================

    1.명령 행에서 php를 lint-mode로 실행하여 실행하지 않고 구문의 유효성을 검증하십시오.

    명령 행에서 php를 lint-mode로 실행하여 실행하지 않고 구문의 유효성을 검증하십시오.

    PHP -l 파일 이름

    고수준 정적 분석기에는 다음이 포함됩니다.

    하위 분석기에는 다음이 포함됩니다.

    PHP의 동적 특성으로 인해 더 유용한 런타임 분석기는 다음과 같습니다.

    문서 라이브러리 phpdoc과 doxygen은 일종의 코드 분석을 수행합니다. 예를 들어 Doxygen은 graphviz로 멋진 상속 그래프를 렌더링하도록 구성 할 수 있습니다.

    또 다른 옵션은 xhprof입니다. xhprof는 xdebug와 비슷하지만 가볍기 때문에 프로덕션 서버에 적합합니다. 이 도구는 PHP 기반 인터페이스를 포함합니다.

  2. ==============================

    2.온라인 PHP lint

    온라인 PHP lint

    PHPLint

    초기화되지 않은 변수 검사. 링크 1과 2는 이미 이렇게 잘하는 것 같습니다.

    나는 이러한 것들을 집중적으로 사용했다고 말할 수 없다. :)

  3. ==============================

    3.완성을 위해 - phpCallGraph도 확인하십시오.

    완성을 위해 - phpCallGraph도 확인하십시오.

  4. ==============================

    4.PHP Mess Detector는 멋지고 빠릅니다.

    PHP Mess Detector는 멋지고 빠릅니다.

  5. ==============================

    5.나는 $ php -l을 사용하고 다른 도구를 사용하려고 시도했다. 그러나 내 경험 (YMMV, 물론)에서 최고의 하나는 pfff 도구 집합의 검사입니다. Quora (http://www.quora.com/Is-there-a-good-PHP-lint-static-analysis-tool)에서 pfff에 관해 들었습니다.

    나는 $ php -l을 사용하고 다른 도구를 사용하려고 시도했다. 그러나 내 경험 (YMMV, 물론)에서 최고의 하나는 pfff 도구 집합의 검사입니다. Quora (http://www.quora.com/Is-there-a-good-PHP-lint-static-analysis-tool)에서 pfff에 관해 들었습니다.

    컴파일하고 설치할 수 있습니다. 좋은 패키지가 없습니다. (데비안에서 데비안에서는 libpcre3-dev, ocaml, libcairo-dev, libgtk-3-dev 및 libgimp2.0-dev 의존성을 먼저 설치해야했습니다.) intsall의 가치가 있어야합니다.

    결과는 다음과 같이보고됩니다.

    rjha@mint ~ $ ~/sw/pfff/scheck ~/code/github/sc/
    login-now.php:7:4: CHECK: Unused Local variable $title
    go-automatic.php:14:77: CHECK: Use of undeclared variable $goUrl.
    
  6. ==============================

    6.Semantic Designs의 CloneDR은 복사 / 붙여 넣기 / 편집 된 코드를 찾는 "복제 감지"도구입니다. 공백 문자, 주석 및 다양한 이름 바꾸기에도 불구하고 정확하고 근접한 코드 조각을 찾습니다. PHP에 대한 샘플 탐지 보고서는 wesite에서 찾을 수 있습니다. (저는 저자입니다).

    Semantic Designs의 CloneDR은 복사 / 붙여 넣기 / 편집 된 코드를 찾는 "복제 감지"도구입니다. 공백 문자, 주석 및 다양한 이름 바꾸기에도 불구하고 정확하고 근접한 코드 조각을 찾습니다. PHP에 대한 샘플 탐지 보고서는 wesite에서 찾을 수 있습니다. (저는 저자입니다).

  7. ==============================

    7.NetBeans IDE는 구문 오류, 사용하지 않는 변수 등을 확인합니다. 자동화 된 것은 아니지만 중소 프로젝트에 적합합니다.

    NetBeans IDE는 구문 오류, 사용하지 않는 변수 등을 확인합니다. 자동화 된 것은 아니지만 중소 프로젝트에 적합합니다.

  8. ==============================

    8.PHP 용 nWire라는 새로운 도구가 있습니다. Eclipse PDT 및 Zend Studio 7.x 용 코드 탐색 플러그인입니다. PHP를위한 실시간 코드 분석을 가능하게하고 다음과 같은 도구를 제공합니다 :

    PHP 용 nWire라는 새로운 도구가 있습니다. Eclipse PDT 및 Zend Studio 7.x 용 코드 탐색 플러그인입니다. PHP를위한 실시간 코드 분석을 가능하게하고 다음과 같은 도구를 제공합니다 :

  9. ==============================

    9.PHPUnit의 이전 부분 인 PHP PMD (프로젝트 엉망 탐지기) 및 PHP CPD (복사 붙여 넣기 감지기)

    PHPUnit의 이전 부분 인 PHP PMD (프로젝트 엉망 탐지기) 및 PHP CPD (복사 붙여 넣기 감지기)

  10. ==============================

    10.RIPS - PHP 스크립트의 취약점에 대한 정적 소스 코드 분석기입니다. SourceForge에서 사용 가능한 RIPS 소스.

    RIPS - PHP 스크립트의 취약점에 대한 정적 소스 코드 분석기입니다. SourceForge에서 사용 가능한 RIPS 소스.

    RIPS 사이트에서 :

  11. ==============================

    11.또한 PHP 컴파일러를 사용해 보는 것도 좋습니다. 주요 기능은 PHP 바이너리를 생성하는 것이지만 몇 가지 분석 기능이 있습니다.

    또한 PHP 컴파일러를 사용해 보는 것도 좋습니다. 주요 기능은 PHP 바이너리를 생성하는 것이지만 몇 가지 분석 기능이 있습니다.

  12. ==============================

    12.PHP Analyzer라는 정적 코드 분석을위한 절대적으로 새로운 도구가 있습니다.

    PHP Analyzer라는 정적 코드 분석을위한 절대적으로 새로운 도구가 있습니다.

    많은 유형의 정적 분석 중에서 기본 자동 고정 기능도 제공됩니다 (문서 참조).

    업데이트 : PHP-Analyzer는 현재 더 이상 사용되지 않는 프로젝트이지만 여전히 기존 분기에서 액세스 할 수 있습니다.

  13. ==============================

    13.Facebook의 힙합으로 컴파일 해 볼 수도 있습니다.

    Facebook의 힙합으로 컴파일 해 볼 수도 있습니다.

    그것은 전체 프로젝트에 대한 정적 분석을 수행하며, 당신이 찾고있는 것일 수 있습니다.

    https://github.com/facebook/hiphop-php

  14. from https://stackoverflow.com/questions/378959/is-there-a-static-code-analyzer-like-lint-for-php-files by cc-by-sa and MIT license