vishwac09 / extended-php-guidelines

该包已废弃,不再维护。未建议替代包。

提供一组额外的编码/风格指南来检查PHP代码。

安装: 1

依赖者: 0

建议者: 0

安全: 0

星星: 0

关注者: 1

分叉: 0

开放问题: 0

类型:phpcodesniffer-standard

1.0.0 2022-03-01 06:54 UTC

This package is auto-updated.

Last update: 2023-11-12 15:46:06 UTC


README

除了PSR-1、PSR-2、PSR-12和Drupal标准外,我们还遵循一些其他标准,以实现代码项目的整体一致性。

我主要在Drupal项目中工作,因此通常使用Drupal编码标准来检查自定义代码中的违规情况。这个PHP库是PHP-CodeSniffer标准的一种,它将PHP代码与以下列表进行对比。

列表

  1. 导入顺序 - 将Drupal/Symfony导入和通过composer添加的第三方库单独分组。
  2. 避免Switch case - PHP 8.0及以上版本提供match() {}表达式,可替代switch() case。
  3. 避免静态类引用 - 无法注入。
  4. 成员函数顺序 - 按顺序排列成员函数,提高可读性。

用法

创建一个项目,并将此包添加为DEV依赖项。

安装

通过composer添加为本地依赖项

composer require --dev dealerdirect/phpcodesniffer-composer-installer
composer require --dev vishwac09/extended-php-guidelines

通过composer添加为全局依赖项

composer require global --dev dealerdirect/phpcodesniffer-composer-installer
composer require global --dev vishwac09/extended-php-guidelines

通过GIT添加

git clone git@github.com:vishwac09/extended-php-guidelines.git

将标准添加到phpcs

phpcs --config-set installed_paths /path/to/extended-php-guidelines/EPG

运行

检查新标准是否已配置到phpcs。

phpcs -i

检查上述违规情况。

phpcs --standard=EPG --colors file1.php, file2.inc

示例

FILE: /Users/hp/Documents/temp.php
------------------------------------------------------------------------------------------------------
FOUND 0 ERRORS AND 5 WARNINGS AFFECTING 5 LINES
------------------------------------------------------------------------------------------------------
  1 | WARNING | Group Drupal/Symfony imports and third party libraries added via composer separately.
 26 | WARNING | Member functions of class must be defined in ascending order
 28 | WARNING | Do not use static class references.
 40 | WARNING | Member functions of interface must be defined in ascending order
 50 | WARNING | Do not use switch expression. With PHP >= 8.0 use the new match expression
    |         | (https://php.ac.cn/manual/en/control-structures.match.php).
------------------------------------------------------------------------------------------------------