虚拟空间软件下载,东莞seo排名优化公司,海淀区网站备案去哪,腾讯服务器在我们开发中都会讲究代码规范#xff0c;若是个人开发者#xff0c;代码规范与否#xff0c;只要自己看得懂便可以了#xff0c;但是在团队协作中#xff0c;代码规定尤为重要#xff0c;下面#xff0c;我们介绍一款PHP_CodeSniffer#xff0c;自动检查代码规范的工具…在我们开发中都会讲究代码规范若是个人开发者代码规范与否只要自己看得懂便可以了但是在团队协作中代码规定尤为重要下面我们介绍一款PHP_CodeSniffer自动检查代码规范的工具。PHP_CodeSniffer是一款自动化的PHP代码规范检查工具。CodeSniffer内置MySource、PEAR、PHPCS、PSR1、PSR2、Squiz和Zend等几套代码规范。当然你也可以新增自己的代码规范。PHP_CodeSniffer 仓库地址https://github.com/squizlabs/PHP_CodeSnifferPHP_CodeSniffer 版本发布地址http://pear.php.net/package/PHP_CodeSnifferPHP_CodeSniffer包含两个工具phpcs用来检查代码规范phpcbf用来纠正代码规范。1 安装PHP_CodeSniffer 有好几种安装方式。1.1 可执行文件方式安装用git命令下载(或直接下载)仓库源码然后直接执行git clone https://github.com/squizlabs/PHP_CodeSniffer.gitcd PHP_CodeSnifferphp bin/phpcs -hphp bin/phpcbf -h要使用非最新版本可以到PEAR下载地址http://pear.php.net/package/PHP_CodeSniffer/download例如要用2.9.1PEAR下载之后解压执行的命令是php scripts/phpcs -hphp scripts/phpcbf -h与 githuh 下载不同的是执行文件在scripts目录。1.2 phar文件安装方式phar也就是php archive把php文件打包成一个文件供服务。Linux系统用命令下载phar文件curl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcs.pharcurl -OL https://squizlabs.github.io/PHP_CodeSniffer/phpcbf.pharWindows系统用浏览器访问上面的两个链接下载这两个phar文件。然后在phar文件的目录里面执行php phpcs.phar -hphp phpcbf.phar -h能看到phpcs和phpcbf的帮助信息说明安装成功。说明这种方式要保证php可执行文件已经添加到PATH环境不然就得指定绝对目录每次执行必须把这两个.phar文件放到对应目录然后在那个目录下运php phpcs.phar xxx行命令1.3 pear安装方式如果本地安装了pear(pear安装方法)也可以通过pear来安装PHP_CodeSniffer命令pear install PHP_CodeSniffer通过pear安装后CodeSniffer的规范文件会安装在/path/to/pear/PHP/CodeSniffer/src/Standards。1.4 composer安装方式composer安装也很方便一个命令composer global require squizlabs/php_codesniffer*说明这里需要composer命令已经在PATH环境变量中。也可以在composer.json文件中使用{require-dev: {squizlabs/php_codesniffer: 3.*}}完成后执行命令./vendor/bin/phpcs -h./vendor/bin/phpcbf -h1.5 配置phpcs直接在命令行中执行以上的方式中除了pear安装方式其他方式要执行phpcs命令都需要在前面加上php。如果是Linux提供因为php执行文件路径已经在环境PATH中所以把bin(或scripts) 的路径加入PATH就可以在终端执行phpcs命令了。但是在Windows系统中实际是执行phpcs.bat文件这个文件又引用了同目录下的phpcs文件。在phpcs.bat中我们需要配置两个变量才能在CMD中正确执行phpcs命令。如下需指定php.exe和phpcs文件的绝对位置if %PHPBIN% set PHPBIND:\php56n\php.exeif not exist %PHPBIN% if %PHP_PEAR_PHP_BIN% neq goto USE_PEAR_PATHGOTO RUN:USE_PEAR_PATHset PHPBIN%PHP_PEAR_PHP_BIN%:RUN%PHPBIN% D:\www\PHP_CodeSniffer-2.9.1\scripts\phpcs %*然后把路径D:\www\PHP_CodeSniffer-2.9.1\scripts\加入到PATH中就可以在CMD中执行phpcs了。说明phpcbf也需要这样的修改。2 使用上面我们看到 PHP_CodeSniffer 有两个命令。默认情况下PHP_CodeSniffer 使用PEAR规范检查代码。2.1 使用命令以下命令用默认规范来来检查文件和目录。$ phpcs /path/to/code/myfile.php # 检查文件$ phpcs /path/to/code # 检查目录和子目录下的所有文件$ phpcs -l /path/to/code # 检查目录下的所有文件不包括子目录$ phpcs /path/to/code/myfile.inc /path/to/code/my_dir # 检查文件和目录2.2 检查结果默认情况下检查结果包含错误和警告如下$ phpcs /path/to/code/myfile.phpFILE: /path/to/code/myfile.php--------------------------------------------------------------------------------FOUND 5 ERROR(S) AND 1 WARNING(S) AFFECTING 5 LINE(S)--------------------------------------------------------------------------------2 | ERROR | Missing file doc comment20 | ERROR | PHP keywords must be lowercase; expected false but found| | FALSE47 | ERROR | Line not indented correctly; expected 4 spaces but found 147 | WARNING | Equals sign not aligned with surrounding assignments51 | ERROR | Missing function doc comment88 | ERROR | Line not indented correctly; expected 9 spaces but found 6--------------------------------------------------------------------------------如果不要显示警告加个-n参数$ phpcs -n /path/to/code/myfile.php仅显示检查结果概要$ phpcs --reportsummary /path/to/code2.3 指定规范可以使用 — standard参数指定一个或多个规范来检查。$ phpcs --standardPEAR /path/to/code/myfile.inc # 使用内置规范$ phpcs --standard/path/to/MyStandard /path/to/code/myfile.inc # 使用指定路径下的规范$ phpcs --standardPEAR,PHPCS,/path/to/MyStandard file.php # 使用多个规范$ phpcs --config-set default_standard Squiz # 修改默认规范为Squiz(原本是PEAR)查看现有规范$ phpcs -i2.4 查看帮助$ phpcs -h更多PHP相关知识请访问PHP中文网