3

有没有办法通过Composer为每个项目安装PHPCodeSnifferWordPress 编码标准 PHP_CodeSniffer?我已经将两者都安装为开发依赖项,并在 CodeSniffer.conf 中将安装路径设置为 WordPress 编码标准。不幸的是,当我在终端中运行命令时,phpcs 无法解析为配置文件,因为它正在“vendor”文件夹中查找“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”

4

1 回答 1

8

首先,您不需要明确要求 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
于 2018-02-27T19:32:32.257 回答