IntelliJ (PhpStorm)에서 PHP_CodeSniffer 사용

전제


  • IntelliJ IDEA (ULTIMATE 2018.2)
  • 어쩌면 PhpStorm도 비슷한 느낌?

  • Mac
  • 메모 정도

  • 하고 싶은 일


  • IntelliJ (로컬 환경)에서 PHP 코드의 정적 분석을 원합니다

  • 할 일


  • (아직 있다면) Mac에 composer를 넣는다
  • composer에서 PHP_CodeSniffer 설치
  • IntelliJ 측면 설정

  • composer



    즉시 brew로 설치하십시오.
    $ brew install composer
    // 入ったかな
    $ which composer
    /usr/local/bin/composer
    // 設定の確認
    $ composer global  config --list
    [bin-dir] {$vendor-dir}/bin (/Users/me/.composer/vendor/bin)
    [home] /Users/me/.composer
    

    config를 보면 compser가 global에서 사용하는 디렉토리를 볼 수 있습니다..composer/ 에 composer.json 등이 생성되어 라이브러리 등은 .composer/vendor/bin 에 들어가게 되었습니다.

    PHP_CodeSniffer


  • squizlabs/PHP_CodeSniffer

  • Installation


  • GitHub의 README 거리 composer를 사용하여 설치
  • $ composer global require "squizlabs/php_codesniffer=*"
    
    Changed current directory to /Users/me/.composer
    ./composer.json has been updated
    Loading composer repositories with package information
    Updating dependencies (including require-dev)
    Package operations: 1 install, 0 updates, 0 removals
      - Installing squizlabs/php_codesniffer (3.3.2): Downloading (100%)
    Writing lock file
    Generating autoload files
    
    // 入ったかな
    $ ls -lah /Users/me/.composer/vendor/bin
    phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf
    phpcs -> ../squizlabs/php_codesniffer/bin/phpcs
    
  • 우선 최신을 사용해 보자 (버전 지정하고 싶으면 자유롭게 3.*
  • 특정 프로젝트에서 사용하는 것은 아니므로 global로 넣어 버린다

  • IntelliJ 측 설정



    Preference에서,
  • Editor > Inspections > PHP Code Sniffer validation에 체크 표시
  • Languages & Frameworks > PHP > Code Sniffer의 Configuration을 Local, 옆의 [...]에서 방금 전의 phpcs 본문을 지정한다
  • /Users/me/.composer/vendor/bin/phpcs
  • 선택 Finder에서 보이지 않는 디렉토리가 나타나지 않는 경우, 선택 Finder 화면에서 Command + Shift + G를 하면 패스를 직접 입력할 수 있는 다이얼로그가 나오므로 편리 (참고 )


  • 결과



    지적 사항이 대량 발생하여 슬픈 기분이 되었다



    CakePHP Codesniffer 규칙 적용


    $ composer global require "cakephp/cakephp-codesniffer=*"
    
    Editor > Inspections > PHP Code Sniffer validationCoding standard 열을 "Custom"으로 설정하고 옆의 [...]에서/Users/me/.composer/vendor/cakephp/cakephp-codesniffer/CakePHP/ruleset.xml와 같이 ruleset.xml을 지정하면 CakePHP 룰 세트가 적용됩니다.

    참고


  • 본가 설명서
  • htps //w w. 지 tb 라이언 s. 이 m / 헤일프 / 이데아 / 우신 g php 코데 - s 니후 r - l. HTML


  • Configuring PHP Code Sniffer manually를 사용해 보았습니다.
    IntelliJ에서 Composer를 설정하고 Available Packages에서 도입하는 공식 추천?의 방법이 좋은 것일지도 모르지만 특별히 시도하지 않습니다 (IDE를 잘 다루지 않는 것만)

    룰 세트는 맛을 조정.
    메모 정도의 기사이므로, 만약 기사 내용이 이상했으면 지적해 주십시오.

    좋은 웹페이지 즐겨찾기