wordpress:php_cs
차이
문서의 선택한 두 판 사이의 차이를 보여줍니다.
다음 판 | 이전 판 | ||
wordpress:php_cs [2019/06/08 03:46] – 만듦 changwoo | wordpress:php_cs [2019/06/08 06:06] (현재) – [PHPStorm] changwoo | ||
---|---|---|---|
줄 1: | 줄 1: | ||
워드프레스 사용하면서 플러그인의 코딩 스타일을 PhpStorm 에 맡기는 편이다. 그러다보니 너무 IDE에 의존하는 것이 아닌가 싶다. 공통적인 스타일 통일이 필요하다 생각하여 PhpCS를 스터디한 결과를 적는다. | 워드프레스 사용하면서 플러그인의 코딩 스타일을 PhpStorm 에 맡기는 편이다. 그러다보니 너무 IDE에 의존하는 것이 아닌가 싶다. 공통적인 스타일 통일이 필요하다 생각하여 PhpCS를 스터디한 결과를 적는다. | ||
+ | ====== PHP Code Sniffer ====== | ||
+ | 코드를 검사하여 지정한 규격대로 작성되었는지 검사한다. | ||
+ | |||
+ | |||
+ | ==== 설치 ==== | ||
+ | wget이나 curl을 이용해 글로벌로 설치 가능하다. 아래 참고문서에서 github 의 가이드를 따라 설치하면 된다. | ||
+ | |||
+ | |||
+ | ==== phpcs.xml 예시 ==== | ||
+ | 아래는 간단한 phpcs.xml 예시이다. 플러그인에 맞춰 적절히 작성했다. 주석을 참고하여 적절히 설정을 가감한다. 괜찮은 설정이 있다면 업데이트 바람. | ||
+ | |||
+ | <code xml> | ||
+ | <?xml version=" | ||
+ | <ruleset name=" | ||
+ | <!-- What to scan --> | ||
+ | < | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- How to scan --> | ||
+ | <!-- Usage instructions: | ||
+ | <!-- Annotated ruleset: https:// | ||
+ | <arg value=" | ||
+ | <arg name=" | ||
+ | <arg name=" | ||
+ | <arg name=" | ||
+ | <arg name=" | ||
+ | |||
+ | <!-- Rules: Check PHP version compatibility --> | ||
+ | <!-- https:// | ||
+ | <config name=" | ||
+ | |||
+ | <!-- https:// | ||
+ | <rule ref=" | ||
+ | |||
+ | <!-- Rules: WordPress Coding Standards --> | ||
+ | <!-- https:// | ||
+ | <!-- https:// | ||
+ | <config name=" | ||
+ | <rule ref=" | ||
+ | <rule ref=" | ||
+ | < | ||
+ | <!-- Value: replace the function, class, and variable prefixes used. Separate multiple prefixes with a comma. --> | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | <rule ref=" | ||
+ | < | ||
+ | <!-- Value: replace the text domain used. --> | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | <rule ref=" | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | |||
+ | |||
+ | ==== 플러그인 composer.json 예시 ==== | ||
+ | 위 xml 문서 중 rule ref 속성이 있음을 발견할 수 있다. 이것들은 모두 스니퍼에서 읽어들일 수 있는 외부 규칙 세트들을 언급한 것이며 스니퍼가 인식할 수 있어야 한다. | ||
+ | |||
+ | 그러나 이런 규칙들은 스니퍼의 일부분이 아니기 때문에 별도로 설치하고 인식시켜 주어야 한다. 규칙 세트는 주로 composer를 활용하여 작성 가능하다. | ||
+ | |||
+ | 위 예제에서 사용된 규칙은 PHPCompatibilityWP, | ||
+ | |||
+ | <code bash> | ||
+ | composer.phar require --dev phpcompatibility/ | ||
+ | </ | ||
+ | |||
+ | 얼마정도 | ||
+ | |||
+ | |||
+ | ==== phpcs 룰셋 인식시키기 ==== | ||
+ | 룰을 설치하고 난 다음에는 스니퍼가 정확히 해당 룰셋의 경로를 인식해야 한다. 세번째에 언급된 '' | ||
+ | |||
+ | 만약 사용하지 않고 수동으로 인식해야 한다면, 다음 설정을 composer.json 에다 넣어 주어야 한다. | ||
+ | |||
+ | <code json> | ||
+ | " | ||
+ | " | ||
+ | " | ||
+ | } | ||
+ | </ | ||
+ | |||
+ | 그냥 간단하게 패키지를 설치하는 것을 추천한다. 이렇게 되면 다음처럼 인식이 된다. 주의할 점은 composer로 설치된 phpcs 에만 설정이 먹힌다. 글로벌로 잡힌 phpcs와는 결과가 다를 것이다. | ||
+ | |||
+ | <code bash> | ||
+ | $ ./ | ||
+ | The installed coding standards are Squiz, PSR2, PSR12, MySource, PEAR, PSR1, Zend, PHPCompatibility, | ||
+ | </ | ||
+ | |||
+ | ==== PHPStorm ==== | ||
+ | - Settings > Languages& | ||
+ | - Settings > Editor > Inspections > PHP > Quality Tools > PHP Code Sniffer validation 체크 | ||
+ | - Coding Standard를 custom으로 맞추고 설정한 phpcs.xml 파일을 인식시켜주면 IDE 화면에서 검사 결과를 바로 보여줌 | ||
+ | |||
+ | |||
+ | ==== 참고 문서 ==== | ||
+ | * [[ https:// | ||
+ | * [[ https:// | ||
+ | * https:// | ||
+ | * https:// | ||
wordpress/php_cs.1559965582.txt.gz · 마지막으로 수정됨: 2019/06/08 03:46 저자 changwoo