mito/coding-standards

3.0.1 2022-09-05 15:57 UTC

README

此仓库包含基于PHP的应用程序的Mito编码规范。

Code coverage

获取代码

您可以使用以下方法之一获取代码风格定义。

  • 克隆 hellowearemito/php-coding-standards 仓库
$ git clone git://github.com/hellowearemito/php-coding-standards.git
$ composer require mito/coding-standards:"^3.0"

PHP_Codesniffer

此仓库包含五个 phpcs 标准

  • Application: 用于普通类文件。
  • Views: 用于视图文件,需要使用花括号进行控制结构。
  • ViewsAlternate: 用于视图文件,需要使用替代语法进行控制结构。
  • ViewsMixed: 用于视图文件,允许使用花括号和替代语法。
  • Others: 用于其他文件,例如配置文件和迁移类。

这些标准基于 PSR-12,并进行了一些补充和改进。

Views 标准禁用了一些在 PHP 与 HTML 混用时会引起问题的规则,因此无法完全检查视图文件,也无法修复其中所有问题,因此在使用 phpcbf 与视图文件时请小心。

有关规则的完整说明,请参阅 docs/rules.md

使用标准

安装 CodeSniffer 后,您可以使用以下语法启动它以使用自定义标准

$ ./vendor/bin/phpcs --extensions=php --standard=vendor/mito/coding-standards/Application .

要自动修复大多数问题,请使用 phpcbf

$ ./vendor/bin/phpcbf --extensions=php --standard=vendor/mito/coding-standards/Application .

警告:始终检查 phpcbf 的输出并保留备份。如果它破坏了您的代码,您将保留两个部分。

在运行 phpcbf 之前,您还应该使用 php -l 运行语法检查,因为某些嗅探器假设代码是语法有效的,如果它不是,则可能会破坏它。

如果您使用的是 PhpStorm,您可以将其配置为使用 CodeSniffer,方法是在设置 → PHP → Code Sniffer 中配置。在检查 → PHP → PHP Code Sniffer 验证中可以指定标准。

请注意,这将使用单个标准检查所有文件,但对于不同类型的文件,您应使用不同的标准。这些标准是为了与 gulp-phpcsgulp-phpcbf 一起使用而设计的,因此它们不是在 ruleset.xml 中使用排除模式,而是依赖于 gulp 任务为文件选择适当的标准。

您可以编写自己的 ruleset.xml,它从 Application 标准扩展并包含适当的排除模式(检查 OthersViewsruleset.xml 文件以确定要排除的规则)。

有用的链接

贡献

有关信息,请参阅 CONTRIBUTING.md