flyeralarm/php-code-validator

FLYERALARM 定制的编码标准

4.1.0 2023-10-20 14:47 UTC

This package is auto-updated.

Last update: 2024-09-21 16:53:55 UTC


README

此仓库包含我们在FLYERALARM开发的PHP代码的规则集。它主要基于PSR-12,并添加了一些自定义规则。规则通过squizlabs/PHP_CodeSniffer强制执行。

本文件中“必须”,“不得”,“必需”,“应”,“不应”,“应该”,“不应该”,“推荐”,“可能”和“可选”等关键词的解释,请参照RFC 2119

PSR-12之外的定制规则

  • 变量名必须使用小驼峰命名法
  • 不得使用Yoda条件
  • 使用@expectedException的单元测试必须包含@expectedExceptionMessage注解
  • 异常信息不得包含感叹号或句号
  • 不得使用GOTO和EVAL关键字
  • 命名空间中不得使用下划线
  • 不得使用类类型后缀,如Interface,Abstract或Trait(例如LoggerInterface)

如何在本项目中工作

准备运行命令

make install

要检查代码风格合规性或修复可以自动修复的内容,请运行命令

make sniff
make sniff-fix

要测试规则集,请运行命令

make test

由于测试运行器是Docker化的,我们可以使用不同的PHP版本进行测试

PHP_VERSION=8.2 make test

或一次性全部进行

make test-all

嵌入到你的项目中

作为composer开发依赖项添加

composer require --dev flyeralarm/php-code-validator

在Makefile中嵌入代码检查器。请使用制表符而不是空格进行缩进。

示例Makefile

test:
	vendor/bin/phpcs -w -p -s --standard=vendor/flyeralarm/php-code-validator/ruleset.xml src/ tests/

添加项目特定规则

为项目定义自定义规则的最佳方式是在项目的根目录中提供一个phpcs.xml文件。如果没有定义其他标准,PHP_CodeSniffer将自动检测此标准(参见PHP_CodeSniffer 高级使用)。

然后,此phpcs.xml可以引用FLYERALARM PHP编码标准。

<?xml version="1.0" encoding="UTF-8" ?>
<ruleset name="Project Rules">
    <file>./src/</file>
    <file>./tests/</file>
    <arg value="sp"/>

    <rule ref="vendor/flyeralarm/php-code-validator/ruleset.xml"/>

    <!-- custom rules -->

</ruleset>

创建phpcs.xml文件后,可以使用以下方式验证代码:

vendor/bin/phpcs

更新到最新稳定版

composer update flyeralarm/php-code-validator

运行检查器

make test

在PHPStorm中使用

  1. 确保已配置PHP Code Sniffer的路径 - 打开配置手册
  2. 打开设置
    Mac: PhpStorm > 首选项 > 编辑器 > 检查 > PHP
    Windows & Linux: 文件 > 设置 > 编辑器 > 检查 > PHP \
  3. 勾选PHP Code Sniffer验证复选框
  4. 单击项目PHP Code Sniffer验证以打开其右侧的设置
  5. 选择“自定义”作为“编码标准:”,然后单击右侧的...
  6. 选择规则集的路径。这将是类似于 <YOUR_APP_ROOT>/vendor/flyeralarm/php-code-validator/ruleset.xml 的内容
  7. 通过按ok确认对话框

顺便说一句: 我们在全球多个地点寻找有才华的人加入我们开发团队的各个团队