totara/codesniffer

适用于Totara编码风格的PHP代码嗅探器标准。

安装: 27

依赖项: 0

建议者: 0

安全性: 0

星标: 0

关注者: 20

分支: 4

开放问题: 4

类型:项目

dev-master 2024-02-22 00:49 UTC

This package is not auto-updated.

Last update: 2024-09-18 13:40:14 UTC


README

此项目包含适用于Totara Learn的代码嗅探器标准。

先决条件

请注意,最低PHP要求已更改。现在您只能安装和运行PHP 7.4或更高版本的Codesniffer。

您仍然可以分析与版本5.6兼容的Totara版本,只要您在7.4或更高版本的Codesniffer上运行。

安装

将此存储库克隆到您选择的文件夹。

在项目根目录下运行

# Install composer packages (--dev is only required for running phpunit)
# If needed, change "composer" to the composer executable on your machine.
composer install --no-dev

# Now check what standards PHPCS can use
# The new Totara coding standard is automatically set after composer install
vendor/bin/phpcs -i

# should output something like
The installed coding standards are PEAR, Zend, PSR2, MySource, Squiz, PSR1, PSR12, Totara and PHPCompatibility

可选地,您可以将 phpcs 添加到您的路径

# Add this to your ~/.bash_profile or ~/.profile
# (Replace /path/to/this/project/ with the actual one on your machine)
export PATH="$PATH:/path/to/this/project/vendor/bin"

# don't forget to either do
source ~/.bash_profile
# or 
source ~/.profile

# or start a new shell

用法

控制台

要在控制台上使用Totara标准运行代码嗅探器

vendor/bin/phpcs --standard=Totara [--extensions=php,js] [folder_or_file_to_check]

# Example:
vendor/bin/phpcs --standard=Totara --extensions=php /path/to/your/project/classes/[MyClassToCheck.php]

# or if you've added phpcs to your path
phpcs --standard=Totara --extensions=php classes/[MyClassToCheck.php]

由于某些嗅探器也可以检查JavaScript文件,您可能希望限制扩展名为两种之一。

默认 phpcs.xml 文件

如果您的项目包含 phpcs.xml 或 phpcs.xml.dist 文件,您可以在项目中运行代码嗅探器而无需指定标准或该文件中设置的任何其他配置。

/path/to/phpcs filesorfoldertocheck

有关更多详细信息,请参阅PHP Code Sniffer的高级用法文档

PHPStorm

要设置PHPStorm以自动检查您的文件并在代码中直接突出显示编码风格违规

  1. 打开“首选项”
  2. 转到“语言和框架”>“PHP”>“质量工具”>“Code Sniffer”
  3. 确保在配置中,“PHP Code Snifffer路径”指向此项目中的“vendor/bin/phpcs”文件
  4. “验证”选择并单击“应用”
  5. 转到“编辑器”>“检查”
  6. 在检查的大树中找到“PHP”>“质量工具”>“PHP Code Sniffer验证”
  7. 激活检查
  8. 在右侧面板下的“选项”中,选择“自定义”作为标准,并单击其旁边的“...”按钮
  9. 从此项目中选择规则集.xml文件(src/Standards/Totara/ruleset.xml
  10. 单击“确定”

就是这样。现在所有违规行为都应在您的代码视图中直接标记。

PHPCompatibility

Totara标准还包括PHPCompatibility标准,以检查特定版本的问题。

默认情况下,PHPCompatibility规则将仅检查您在运行 phpcs 命令时运行的PHP版本。要选择要检查的特定版本,请设置控制台上的版本

# to run all the checks for PHP 7.1, PHP 7.2 and PHP 7.3
/path/to/phpcs --runtime-set testVersion 7.1-7.3 ...

或在您的 phpcs.xml 文件中有一个“testVersion”配置选项。

有关更多详细信息,请参阅PHPCompatibility

开发

嗅探器

在xml文件src/Standards/Totara/ruleset.xml中,您可以找到用于此编码标准的所有规则。它是其他标准中的嗅探器和我们的嗅探器的混合。

如果您在此项目中创建或修改嗅探器,请确保您坚持PSR-2编码标准(以匹配原始代码嗅探器库的风格)和PSR-4自动加载。

测试

如果您在此项目中创建或修改嗅探器,请确保为它创建或更新单元测试。

要运行单元测试

# If you haven't done it before, run
composer install

# Then run all tests with:
vendor/bin/phpunit

Git Hook

还有一个用于git在提交时运行代码嗅探器的pre-commit钩子。

查看说明了解如何使用它。