이 내용을 들어보지 못한 학생들도 있을 수 있습니다. 간략한 소개는 다음과 같습니다.
PHP_CodeSniffer
는 코드 스타일 감지 도구입니다. 여기에는 phpcs
와 phpcbf
(GitHub 주소)라는 두 가지 유형의 스크립트가 포함되어 있습니다. PHP_CodeSniffer
是一个代码风格检测工具。它包含两类脚本,phpcs
和 phpcbf
(GitHub地址)。
phpcs
脚本对 PHP
、JavaScript
、CSS
文件定义了一系列的代码规范(通常使用官方的代码规范标准,比如 PHP
的 PSR2
),能够检测出不符合代码规范的代码并发出警告或报错(可设置报错等级)。
phpcbf
脚本能自动修正代码格式上不符合规范的部分。比如 PSR2
规范中对每一个 PHP
文件的结尾都需要有一行空行,那么运行这个脚本后就能自动在结尾处加上一行空行。
安装
推荐使用 composer
来安装:
composer global require "squizlabs/php_codesniffer=*"
安装完后就会在全局的 Vendor
目录下的 bin
中生成两个软链接:
phpcbf -> ../squizlabs/php_codesniffer/bin/phpcbf phpcs -> ../squizlabs/php_codesniffer/bin/phpcs
如果你不知道全局 Vendor
目录在哪,用下这个命令吧:
composer global config bin-dir --absolute
命令行使用
到这一步,其实你就可以愉快的使用这两个命令了:
哦,不过如果要全局使用这两个命令那还是做个软链接放在 /usr/local/bin
下吧~
$ phpcs test.php FILE: /Users/stephen/Develop/Code/test.php -------------------------------------------------------------------------------------------- FOUND 2 ERRORS AFFECTING 2 LINES -------------------------------------------------------------------------------------------- 2 | ERROR | [ ] Missing file doc comment 3 | ERROR | [x] TRUE, FALSE and NULL must be lowercase; expected "false" but found "FALSE" -------------------------------------------------------------------------------------------- PHPCBF CAN FIX THE 1 MARKED SNIFF VIOLATIONS AUTOMATICALLY -------------------------------------------------------------------------------------------- Time: 45ms; Memory: 4Mb $ phpcbf test.php PHPCBF RESULT SUMMARY ---------------------------------------------------------------------- FILE FIXED REMAINING ---------------------------------------------------------------------- /Users/stephen/Develop/Code/test.php 1 1 ---------------------------------------------------------------------- A TOTAL OF 1 ERROR WERE FIXED IN 1 FILE ---------------------------------------------------------------------- Time: 49ms; Memory: 4Mb
Sublime Text 中集成
安装插件
前提 Package Control
要安装好,这个你肯定没问题的(莫名的自信,逃)
安装 phpcs
这个插件,然后打开这个插件的 Settings - User
和 Settings - Default
,将后者的内容全部复制到前者。
配置插件
将以下这几个配置项配置一下:
当前环境中 php
的执行路径
"phpcs_php_prefix_path": "/usr/bin/php",
当前环境中 phpcs
的执行路径
"phpcs_executable_path": "~/.composer/vendor/bin/phpcs",
执行脚本时额外添加的参数,一般以 PSR2
代码规范作为标准,你也可以选择 PSR1
、PEAR
等
"phpcs_additional_args": { "--standard": "PSR2", "-n": "" },
当前环境中 phpcbf
的执行路径
"phpcbf_executable_path": "/Users/stephen/.composer/vendor/bin/phpcbf",
开启保存就执行 cbf
脚本功能
"phpcbf_on_save": true,
现在就可以愉快的玩耍了,编辑完 .php
后缀的文件保存后就会自动回复修正代码不规范的地方。
这个插件还有其他代码规范可以设置的地方,比如 PHP Mess Detector settings
、PHP Linter settings
、PHP Scheck settings
下次在研究其他几个,目前是够我用了,逃)
PhpStrom 中集成
配置 Code Sniffer
在 Settings -> Languages & Frameworks -> PHP -> Code Sniffer 中对 phpcs
进行配置
点击 Configuration: Local
旁边的 ...
,将当前环境的 phpcs
执行脚本所在路径配置进去,旁边有一个 Validate
按钮可以进行验证,其他两个参数默认就好,这里也稍微说一下吧。
Maxumum number of messages per file[1...100]
:每个文件最多显示不符合代码规范的条数,一般出现50个了那你有很多工作可以做了,其实10个就够了,尤其对我这种代码洁癖和强迫症晚期的人来说一个足矣 。。。
Tool process timeout, sec[1...30]
:脚本执行的超时时间
开启验证
在 Settings -> Editor -> Inspections 中进行开启
找到 PHP -> PHP Code Sniffer validation 选项,对其打钩,在右侧进行详细配置
我是将 Options -> Show warnings as: Error 开启了,当然你也可以选择 Warnning,提示级别高一点能够强迫自己,没啥不好的吧~
Coding standard 依旧是选择 PSR2,如果找不到这个选项,记得点一下紧挨着的刷新按钮。
自动修复
我找了半天没发现 PhpStrom
有支持 phpcbf
的可用选项,所以只能通过 External Tools
phpcs
스크립트는 PHP
, JavaScript
및 CSS
파일에 대한 일련의 코드 사양을 정의합니다(보통 공식 사용). PHP
의 PSR2
)와 같은 코드 사양 표준은 코드 사양을 준수하지 않는 코드를 감지하고 경고 또는 오류를 발행할 수 있습니다(오류 수준 설정 가능).
phpcbf
스크립트는 표준을 준수하지 않는 코드 형식의 부분을 자동으로 수정할 수 있습니다. 예를 들어, PSR2
사양에서는 각 PHP
파일 끝에 빈 줄이 필요합니다. 그런 다음 이 스크립트를 실행하면 끝에 빈 줄이 자동으로 추가됩니다.
composer 를 사용하여 설치하는 것이 좋습니다: | rrreee설치 후 , 전역 Vendor 디렉토리 아래 bin 에 두 개의 소프트 링크를 생성합니다. | rrreee
---|---|
이 시점에서 실제로 이 두 가지를 사용할 수 있습니다. happy command: | 아, 하지만 이 두 명령을 전역적으로 사용하려면 소프트 링크를 만들어 /usr/local/bin 에 넣어야 합니다~ | rrreee
설치 플러그인 | 전제 조건 Package Control 이 필요합니다. 설치되시면 괜찮을 것 같아요(설명할 수 없을 정도로 자신감이 있어서 도망가세요) |
구성 플러그인 | 다음 구성 항목을 구성합니다. |
phpcs의 실행 경로 | rrreee스크립트 실행 시 추가되는 추가 매개변수는 일반적으로 PSR2 코드 사양을 기준으로 하며, PSR1 을 선택할 수도 있습니다. PEAR 잠깐
| rrreee
cbf
스크립트 함수를 실행🎜rrreee🎜 이제 즐겁게 플레이하실 수 있습니다. 편집 .php
접미사를 붙여 파일을 저장하신 후 자동으로 코드의 불규칙성을 수정하라는 응답을 보내드립니다. 🎜🎜이 플러그인에는 PHP Mess Detector 설정
, PHP Linter 설정
, PHP Scheck 설정
과 같은 코드 사양을 설정할 수 있는 다른 위치도 있습니다. code>🎜🎜 다음에 몇 가지 더 공부하겠지만 지금은 이것으로 충분합니다. 탈출)🎜🎜PhpStrom에 통합 span>🎜🎜코드 스니퍼 구성🎜🎜설정 -> 언어 & 프레임워크 -> 코드 스니퍼🎜🎜를 클릭하세요. 구성: 로컬 ...
옆 code>, 현재 환경에서 phpcs
실행 스크립트의 경로를 구성합니다. Validate
가 있습니다. 확인을 위해 옆에 있는 > 버튼을 클릭하세요. 다른 두 매개변수는 기본적으로 괜찮으므로 여기서는 이에 대해 조금 이야기하겠습니다. 🎜🎜파일당 최대 메시지 수[1...100]
: 각 파일은 코드 사양을 따르지 않는 최대 메시지 수를 표시합니다. 일반적으로 50개의 메시지가 나타나면 사실, 10개이면 충분합니다. 특히 나처럼 코드에 집착하고 강박 장애의 후기 단계에 있는 사람에게는 1개이면 충분합니다. . . 🎜🎜도구 프로세스 시간 초과, 초[1...30]
: 스크립트 실행 시간 초과🎜🎜확인 활성화🎜🎜설정 -> 🎜🎜PHP -> PHP 코드 스니퍼 유효성 검사 옵션을 찾아 확인하고 오른쪽에서 자세히 구성합니다. 🎜🎜옵션 -> 경고 표시: 오류를 선택할 수도 있습니다. 경고. 프롬프트 수준을 높여도 문제가 없습니다~🎜🎜코딩 표준 그래도 이 옵션을 찾을 수 없으면 옆에 있는 새로 고침 버튼을 클릭하세요. 🎜🎜자동 복구🎜🎜오랜 시간 동안 검색했지만 PhpStrom
에 phpcbf
를 지원하는 사용 가능한 옵션이 있다는 것을 찾을 수 없었습니다. 이를 달성하려면 외부 도구
만 사용할 수 있습니다. 🎜🎜설정 -> 도구 -> 외부 도구에 추가하세요. 아래는 기본적으로 복사할 수 있는 예입니다. 🎜 🎜description 🎜🎜automically 올바른 코딩 표준 위반.이제 메뉴바의 도구 -> 외부 도구에서 찾아 즐겁게 사용하실 수 있습니다.
량 형제님, 정말 불편해요. . .
그런 다음 단축키를 추가하세요. . .
설정 -> 키맵 -> 외부 도구 -> phpcbf에서 단축키를 추가하세요. 제가 설정한 것은 Option + F
또는 Windows의 경우 Alt + FOption + F
,或者 Windows 上的 Alt + F
。
蜜汁延伸
之前没用 phpcbf
,代码自动修复使用的是 php-cs-fixer
,但后来发现两者功能差不多,所以秉着能少一个包就少一个包的原则,放弃了 php-cs-fixer
phpcbf
를 사용하지 않았는데 코드가 자동으로 복구됩니다. php-cs-fixer
를 사용하다가 나중에 둘의 기능이 비슷하다는 걸 발견하고 하나 덜한다는 원칙에 따라 php-cs-fixer
를 포기했습니다. 패키지. 추천: "🎜PHP 비디오 튜토리얼🎜"🎜위 내용은 PHP_CodeSniffer를 사용하여 코드 사양을 확인하는 방법(자세한 설명)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!