有些同窗可能还没听过这货色,大略引见一下:
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 co妹妹ent 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
来完成了。
正在 Settings -> Tools -> External Tools 中进行增加,上面是我的一个示例,根本能够照搬 :)
Parameter | Value |
---|---|
Name | phpcbf |
Description | Automatically correct coding standard violations. |
Program | phpcbf |
Parameters | --standard=PSR2 "$FileDir$/$FileName$" |
如今就能够正在菜单栏上的 Tools -> External Tools 中找到它并欢快的应用了。
亮哥,这样很没有不便诶。。。
那就加一个快捷键把。。。
正在 Settings -> Keymap -> External Tools -> phpcbf 中进行增加快捷键操作,我设置的是 Option + F
,或许 Windows 上的 Alt + F
。
蜜汁延长
以前没用 phpcbf
,代码主动修复应用的是 php-cs-fixer
,但起初发现二者性能差没有多,以是秉着能少一个包就少一个包的准则,保持了 php-cs-fixer
。
有兴味的自行拓展理解~
保举:《PHP视频教程》
以上就是若何应用PHP_CodeSniffer反省代码标准(详解)的具体内容,更多请存眷资源魔其它相干文章!
标签: php php开发教程 php开发资料 php开发自学 Code Sniffer 代码规范