我想学习将PHP编写为标准。我发现this文章和(根据其建议)在崇高的文本2中安装了phpcs。如果我去工具 - > phpcode嗅探器 - >嗅探这个文件,它会发现语法错误,但不会编码标准偏差。 (这是我试图嗅探的代码,我认为它与标准https://codereview.stackexchange.com/questions/57045/simple-wrapper-for-an-api有许多偏差)。
docs say to configure phpcs to use a coding standard来自phpcs_additional_args
。如果我转到sublimetext2-> preferences->包设置 - > phpcode sniffer->设置用户,我会看到以下代码:
"phpcs_additional_args": {
"--standard": "PSR2",
"-n": ""
},
这是我的full config file。
我的工作流程是否合适?如果是这样,为什么不发现我的错误呢?我如何使用phpcs自学编码标准?即使知道我正在执行正确的步骤但插件没有输出编码标准标记也会有所帮助。
答案 0 :(得分:9)
根据您的配置文件,您必须修复一些事项:
以下说明适用于linux(ubuntu)或mac
安装php code sniffer
pear install PHP_CodeSniffer
重新加载你的bash或zsh然后执行命令,如果你不知道怎么做,只需重新启动你的终端应用程序
which phpcs
复制输出并粘贴到phpcs config
的"phpcs_executable_path":
目前,你将"phpcs_executable_path":
指向php,而不是phpcs,这就是为什么它不起作用
安装php mess detector
pear channel-discover pear.phpmd.org
pear channel-discover pear.pdepend.org
pear install pdepend/PHP_Depend
pear install --alldeps phpmd/PHP_PMD
喜欢上面的phpcs
重新加载环境并执行which phpmd
,然后填写"phpmd_executable_path": ""
phpcs config
安装php-cs-fixer
sudo wget http://get.sensiolabs.org/php-cs-fixer.phar -O /usr/local/bin/php-cs-fixer
sudo chmod a+x /usr/local/bin/php-cs-fixer
将"php_cs_fixer_executable_path": ""
更改为"php_cs_fixer_executable_path": "/usr/local/bin/php-cs-fixer"
安装scheck
cd /opt/
git clone --depth=1 https://github.com/facebook/pfff.git
cd pfff/
./configure
make depend
make
make opt
将"scheck_executable_path"
更改为"scheck_executable_path": "/opt/pfff/scheck"
注意:您可以使用sudo pear ...
代替pear ...
答案 1 :(得分:1)
我将它与phpstorm一起使用,因为它足够接近开箱即用,但我想这可能是你找到答案:https://github.com/benmatselby/sublime-phpcs
答案 2 :(得分:-1)
保存.php文件后,右键单击并转到Php Code Sniffer,您将看到变体。