spaze/phpcs-phar

PHP_CodeSniffer phar 版本

3.10.3 2024-09-18 12:25 UTC

This package is auto-updated.

Last update: 2024-09-18 12:25:27 UTC


README

Create a phar release PHP Tests

本仓库包含PHPCSStandards/PHP_CodeSniffer的phar版本。

文件从PHP_CodeSniffer 发布页面下载,如果文件发生变化,则进行提交并创建与上游发布相同版本的发布。

整个流程由GitHub Actions 工作流程提供支持。

我创建此仓库是为了个人使用,以克服WSL2使用的9P文件系统的性能问题。PHPCSStandards组织也计划创建Composer phar版本,因此这个仓库最终会停止存在,无论是官方Composer phar发布,还是9P性能足够,或者我退休。请提前做好心理准备。

安装

使用Composer安装

composer require --dev spaze/phpcs-phar

安装编码标准

此仓库中的phar版本与PHP_CodeSniffer Standards Composer Installer Plugin(dealerdirect/phpcodesniffer-composer-installer包)不兼容。请注意,该包甚至替换了其composer.json中的安装插件。

原因有以下几点

  1. 安装插件看起来在寻找不同的已安装包,squizlabs/php_codesniffer以添加更多标准
  2. 插件创建了一个配置文件,该文件包含要安装的标准相对于路径,因此代码检查器期望标准位于phar文件内部,而这并不符合实际情况

然而,安装标准有多种不同的方式。假设你想添加slevomat/coding-standard,你可以

自动安装可用的标准

如果不存在CodeSniffer.conf文件,此包将在每次执行时查找并自动安装所有可用的编码标准。由于每次包更新都会删除,因此不会持久化修改后的配置,也不会创建配置文件。这是模拟Standards Composer Installer Plugin的推荐选项。

修改配置文件

  1. 在你的项目中运行
    vendor/bin/phpcs --config-set installed_paths ../../slevomat/coding-standard
    
  2. vendor/spaze/phpcs-phar目录中找到CodeSniffer.conf文件
  3. 编辑已安装标准的路径,并将其更改为绝对路径,例如将
    'installed_paths' => '../../slevomat/coding-standard'
    更改为
    'installed_paths' => __DIR__ . '/../../slevomat/coding-standard'

请注意,每次包更新都会删除CodeSniffer.conf文件。

使用绝对路径安装标准

在你的项目中运行

vendor/bin/phpcs --config-set installed_paths $(realpath vendor/slevomat/coding-standard)

或使用任何绝对路径作为installed_paths值。

请注意,每次包更新都会删除CodeSniffer.conf文件。