> 백엔드 개발 > PHP 튜토리얼 > PHP_CodeSniffer 설치 및 사용 튜토리얼(자동 코드 검사 사양 도구)

PHP_CodeSniffer 설치 및 사용 튜토리얼(자동 코드 검사 사양 도구)

angryTom
풀어 주다: 2023-04-07 16:58:01
앞으로
2876명이 탐색했습니다.

PHP_CodeSniffer 설치 및 사용 튜토리얼(자동 코드 검사 사양 도구)

우리 모두는 개발 시 코드 사양에 주의를 기울입니다. 개인 개발자라면 코드가 표준화되어 있는지 여부만 이해하면 됩니다. 그러나 팀 협업에서는 아래 코드 규정이 특히 중요합니다. 코드 사양을 자동으로 확인하는 도구인 PHP_CodeSniffer를 소개합니다.

PHP_CodeSniffer는 자동 PHP 코드 사양 확인 도구입니다.

CodeSniffer에는 MySource, PEAR, PHPCS, PSR1, PSR2, Squiz 및 Zend와 같은 여러 코드 사양 세트가 내장되어 있습니다.

물론 자신만의 코드 사양을 추가할 수도 있습니다.

PHP_CodeSniffer 창고 주소: https://github.com/squizlabs/PHP_CodeSniffer

PHP_CodeSniffer 버전 릴리스 주소: http://pear.php.net/package/PHP_CodeSniffer

PHP_CodeSniffer에는 두 가지 도구가 포함되어 있으며, phpcs는 확인에 사용됩니다. 코드 사양 , phpcbf는 코드 사양을 수정 하는 데 사용됩니다.

1 설치

PHP_CodeSniffer에는 여러 가지 설치 방법이 있습니다.

1.1 실행 파일로 설치

git 명령을 사용하여 웨어하우스 소스 코드를 다운로드(또는 직접 다운로드)한 후 직접 실행:

git clone https://github.com/squizlabs/PHP_CodeSniffer.git<br/>cd PHP_CodeSniffer<br/>php bin/phpcs -h<br/>php bin/phpcbf -h<br/>
로그인 후 복사

최신 버전이 아닌 버전을 사용하려면 PEAR에서 다운로드할 수 있으며, 주소: http://pear.php.net/package/PHP_CodeSniffer/download

예를 들어 2.9.1을 사용하려면 PEAR를 다운로드한 후 압축을 풀어야 합니다.

php scripts/phpcs -h<br/>php scripts/phpcbf -h<br/>
로그인 후 복사

githu와의 차이점은 다음과 같습니다. 다운로드는 실행 파일이 scripts 디렉터리에 있다는 것입니다.

1.2 phar 파일 설치 방법

phar는 PHP 파일을 하나의 파일로 패키징하여 서비스하는 PHP 아카이브입니다.

Linux 시스템의 경우 다음 명령을 사용하여 phar 파일을 다운로드합니다.

curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.phar<br/>curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.phar<br/>
로그인 후 복사

Windows 시스템의 경우 브라우저를 사용하여 위의 두 링크에 액세스하고 이 두 phar 파일을 다운로드합니다.

그런 다음 phar 파일 디렉터리에서 실행합니다.

php phpcs.phar -h<br/>php phpcbf.phar -h<br/>
로그인 후 복사

phpcs 및 phpcbf의 도움말 정보를 보면 설치가 성공했음을 알 수 있습니다.

참고:

이 방법은 PHP 실행 파일이 PATH 환경에 추가되었는지 확인해야 합니다. 그렇지 않으면 절대 디렉터리를 지정해야 합니다.

실행될 때마다 이 두 .phar 파일을 해당 디렉터리에 배치해야 합니다. , 그리고 해당 디렉토리에서 php phpcs.phar xxx 라인 명령을 실행합니다.

1.3 배 설치 방법

배가 로컬로 설치된 경우(배 설치 방법), 배를 통해 PHP_CodeSniffer를 설치할 수도 있습니다. 명령:

pear install PHP_CodeSniffer<br/>
로그인 후 복사

After pear를 통한 설치, CodeSniffer 사양 파일은 /path/to/pear/PHP/CodeSniffer/src/Standards에 설치됩니다.

1.4 작곡가 설치 방법

composer 설치도 매우 편리합니다. 하나의 명령:

composer global require "squizlabs/php_codesniffer=*"<br/>
로그인 후 복사

참고: 여기서는 작곡가 명령이 PATH 환경 변수에 있어야 합니다.

는 작곡가.json 파일에서도 사용할 수 있습니다:

{<br/>    "require-dev": {<br/>        "squizlabs/php_codesniffer": "3.*"<br/>    }<br/>}<br/>
로그인 후 복사

완료 후 명령 실행:

./vendor/bin/phpcs -h<br/>./vendor/bin/phpcbf -h<br/>
로그인 후 복사

1.5 명령줄에서 직접 실행되도록 phpcs 구성

위 방법 중에서 배 설치 방법을 제외하고 , 다른 방법을 실행해야 합니다. phpcs 명령 앞에는 php가 있어야 합니다.

Linux에서 제공하는 경우에는 php 실행 파일 경로가 이미 환경 PATH에 있으므로 PATH에 bin(또는 스크립트) 경로를 추가하면 터미널에서 phpcs 명령을 실행할 수 있습니다.

그러나 Windows 시스템에서는 실제로 phpcs.bat 파일이 실행되는데, 이 파일은 동일한 디렉터리에 있는 phpcs 파일을 참조합니다.

CMD에서 phpcs 명령을 올바르게 실행하려면 phpcs.bat에서 두 개의 변수를 구성해야 합니다.

다음과 같이 php.exe 및 phpcs 파일의 절대 위치를 지정해야 합니다.

if "%PHPBIN%" == "" set PHPBIN=D:\php56n\php.exe<br/>if not exist "%PHPBIN%" if "%PHP_PEAR_PHP_BIN%" neq "" goto USE_PEAR_PATH<br/>GOTO RUN<br/>:USE_PEAR_PATH<br/>set PHPBIN=%PHP_PEAR_PHP_BIN%<br/>:RUN<br/>"%PHPBIN%" "D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs" %*<br/>
로그인 후 복사

그런 다음 PATH에 D:wwwPHP_CodeSniffer-2.9.1scripts 경로를 추가하면 CMD에서 phpcs를 실행할 수 있습니다.

참고: phpcbf에도 이러한 수정이 필요합니다.

2

사용 위에서 PHP_CodeSniffer에는 두 개의 명령이 있음을 알 수 있습니다.

기본적으로 PHP_CodeSniffer는 PEAR 사양을 사용하여 코드를 확인합니다.

2.1

명령 사용 다음 명령은 기본 사양을 사용하여 파일과 디렉터리를 확인합니다.

$ phpcs /path/to/code/myfile.php                        # 检查文件<br/>$ phpcs /path/to/code                                   # 检查目录和子目录下的所有文件<br/>$ phpcs -l /path/to/code                                # 检查目录下的所有文件,不包括子目录<br/>$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir   # 检查文件和目录<br/>
로그인 후 복사

2.2 확인 결과

기본적으로 확인 결과에는 다음과 같은 오류와 경고가 포함됩니다.

$ phpcs /path/to/code/myfile.php<br/>FILE: /path/to/code/myfile.php<br/>--------------------------------------------------------------------------------<br/>FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)<br/>--------------------------------------------------------------------------------<br/>  2 | ERROR   | Missing file doc comment<br/> 20 | ERROR   | PHP keywords must be lowercase; expected "false" but found<br/>    |         | "FALSE"<br/> 47 | ERROR   | Line not indented correctly; expected 4 spaces but found 1<br/> 47 | WARNING | Equals sign not aligned with surrounding assignments<br/> 51 | ERROR   | Missing function doc comment<br/> 88 | ERROR   | Line not indented correctly; expected 9 spaces but found 6<br/>--------------------------------------------------------------------------------<br/>
로그인 후 복사

경고를 표시하지 않으려면 -n 매개 변수를 추가하세요.

$ phpcs -n /path/to/code/myfile.php<br/>
로그인 후 복사

다음의 요약만 표시합니다. 확인 결과:

$ phpcs --report=summary /path/to/code<br/>
로그인 후 복사

2.3 사양 지정

--standard 매개 변수를 사용하여 확인할 사양을 하나 이상 지정할 수 있습니다.

$ phpcs --standard=PEAR /path/to/code/myfile.inc                      # 使用内置规范<br/>$ phpcs --standard=/path/to/MyStandard /path/to/code/myfile.inc       # 使用指定路径下的规范<br/>$ phpcs --standard=PEAR,PHPCS,/path/to/MyStandard file.php            # 使用多个规范<br/>$ phpcs --config-set default_standard Squiz                           # 修改默认规范为Squiz(原本是PEAR)<br/>
로그인 후 복사

기존 사양 보기:

$ phpcs -i<br/>
로그인 후 복사

2.4 도움말 보기

$ phpcs -h<br/>
로그인 후 복사

더 많은 PHP 관련 지식을 보려면 PHP 중국어 웹사이트를 방문하세요!

위 내용은 PHP_CodeSniffer 설치 및 사용 튜토리얼(자동 코드 검사 사양 도구)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:www.awaimai.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿