有没有办法通过Composer为每个项目安装PHPCodeSniffer和WordPress编码标准PHP_CodeSniffer?我已经将两者作为开发依赖项安装,并在CodeSniffer.conf中将安装路径设置为WordPress编码标准。不幸的是,当我在终端中运行命令时,phpcs 无法解析为配置文件,因为它正在"供应商"文件夹中查找"vendor/squizlabs/php_codesniffer/CodeSniffer.conf">
这是我的项目设置:
作曲家.json
{
"require-dev": {
"squizlabs/php_codesniffer": "^3.2",
"wp-coding-standards/wpcs": "^0.14.0"
}
}
CodeSniffer.conf
<?php
$phpCodeSnifferConfig = array (
'installed_paths' => 'vendor/wp-coding-standards/wpcs',
)
?>
终端
vendor/bin/phpcs -p THEME_NAME --standard=WordPress
">错误:"WordPress"编码标准未安装。安装的编码标准是PEAR,Zend,PSR2,MySource,Squiz和PSR1">
首先,你不需要明确要求 PHP CodeSniffer,因为wp-coding-standards/wpcs
会自动拉取它。
composer.json
{
"require-dev": {
"wp-coding-standards/wpcs": "^0.14.0"
}
}
就足够了。
要使 CodeSniffer 知道添加的编码标准,请在控制台终端上键入:
$ vendor/bin/phpcs --config-set installed_paths vendor/wp-coding-standards/wpcs
它将自动创建(并在以后找到(vendor/squizlabs/php_codesniffer/CodeSniffer.conf
文件。
这应该在安装过程中自动发生;软件包包含有关此的说明,但由于某种原因,它们没有被执行。
现在,检查已安装的标准:
$ vendor/bin/phpcs -i
The installed coding standards are MySource, PSR2, Squiz, Zend, PSR1, PEAR, WordPress-Extra, WordPress, WordPress-Core, WordPress-VIP and WordPress-Docs