phpcs & phpcbf 명령에 대한 비망록
phpcs & phpcbf 명령에 대한 비망록
PHP 인코딩 규칙을 정리할 때 나는 phpcs와 phpcbf에 관한 많은 것을 만져서 적어 놓았다.
단지 필기에 불과하다.(예방선)
개요
phpcs/phpcbf는 아래의 명령명을 간소화하였으며, 각자의 임무는 다음과 같다.
phpcs : PHP Code Sniffer
phpcbf : PHP Code Beautifier and Fixer
설치 방법
설치 방법은 README에 적힌 바와 같이 관리가 편리하기 때문에composier로 설치하는 것이 가장 좋다.
{
"require-dev": {
"squizlabs/php_codesniffer": "2.*"
}
}
composier를 통해 설치한 경우composer.json
"config": { "bin-dir": "bin" }
등의 설정을 하지 않으면 ./vendor/bin/phpcs
/./vendor/bin/phpcbf
에서 실행할 수 있다.실행 방법
실행 방법에 대해서는 도움말
$ phpcs --help
또는 기타 기사를 참조하십시오.그러나 CLI 실행 시 매개변수는 기본적으로 준비
ruleset.xml
기술을 통해 1가지만 제공됩니다.ruleset.xml
프로젝트별 웨어하우스를 통한 관리--standard
옵션이 지정한 형식의 실행 방법으로 대응하는 것을 추천합니다.# 判定
phpcs --standard=/path/to/MyStandard/ruleset.xml
# 整形
phpcbf --standard=/path/to/MyStandard/ruleset.xml
point
ruleset.xml
에서 상세한 설정을 할 수 있기 때문에 글에서 인코딩 규칙을 관리하는 것이 아닙니다설정 파일
ruleset.xml
을 통해 관리 가능코딩 규칙 변경 등은 인용 요청을 통해 심사할 수 있다.
ruleset.xml 설정 방법
Advanced Usage도 함께 참조
실행 결과
--report=csv
또는 --report=xml
옵션을 지정하고 실행할 때 다음과 같은 정보를 얻을 수 있습니다.key
description
File/Line/Column
경고 발생처
Type
WARNING or ERROR
Message
경고 내용
Source
규칙【후술】
Severity
중증도
Fixable
phpcbf로 성형할 수 있습니까
Source(규칙) 정보
Source는 기본적으로
<STANDARD>.<CATEGORY>.<SNIFF>[.<CODE>]
로 구분된 네 가지 요소로 구성됩니다.일부는
.
3개로 구성돼 있다.<STANDARD>.<CATEGORY>.<SNIFF>
?판정 처리는
<CODE>
의 원본 코드로 처리되고 내용/path/to/<STANDARD>/Sniffs/<CATEGORY>/<SNIFF>Sniff.php
에 따라 경고를 지정한다.<CODE>
의 경우 ./vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php에서 처리한다.여담: 한 줄의 문자수
Generic.Files.LineLength
의 코드 자체 위반을 판정한다.$ phpcs --sniffs=Generic.Files.LineLength ./vendor/squizlabs/php_codesniffer/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php
FILE: ...r/CodeSniffer/Standards/Generic/Sniffs/Files/LineLengthSniff.php
----------------------------------------------------------------------
FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES
----------------------------------------------------------------------
12 | WARNING | Line exceeds 85 characters; contains 94 characters
28 | WARNING | Line exceeds 85 characters; contains 94 characters
99 | WARNING | Line exceeds 85 characters; contains 91 characters
117 | WARNING | Line exceeds 85 characters; contains 88 characters
138 | WARNING | Line exceeds 85 characters; contains 91 characters
----------------------------------------------------------------------
Time: 14ms; Memory: 3.25Mb
Generic.Files.LineLength
에서 지정한 ruleset.xml
로 판단치를 설정합니다.[주의]
<STANDARD>.<CATEGORY>.<SNIFF>
대신 <STANDARD>.<CATEGORY>.<SNIFF>.<CODE>
지정하여 설정<STANDARD>.<CATEGORY>.<SNIFF>
나옵니다.빠져들지 마세요...<?xml version="1.0"?>
<ruleset name="...">
...
<rule ref="Generic.Files.LineLength">
<properties>
<!--
lineLimit : 1 行の文字数が超過すると WARNING が発生
absoluteLineLimit : 1 行の文字数が超過すると ERROR が発生
-->
<property name="lineLimit" value="160"/>
<property name="absoluteLineLimit" value="200"/>
</properties>
</rule>
...
</ruleset>
Source 자체 제작
Reference
이 문제에 관하여(phpcs & phpcbf 명령에 대한 비망록), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ukyooo/articles/c7151eb5d5f48071db82텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)