vishwac09 / extended-php-guidelines
该包已废弃,不再维护。未建议替代包。
提供一组额外的编码/风格指南来检查PHP代码。
1.0.0
2022-03-01 06:54 UTC
Requires
- php: >=7.1
- ext-mbstring: *
- dealerdirect/phpcodesniffer-composer-installer: ^0.7.1
- squizlabs/php_codesniffer: ^3.6.0
Requires (Dev)
- phpunit/phpunit: >=3.7 <6
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代码与以下列表进行对比。
列表
- 导入顺序 -
将Drupal/Symfony导入和通过composer添加的第三方库单独分组。
- 避免Switch case -
PHP 8.0及以上版本提供match() {}表达式,可替代switch() case。
- 避免静态类引用 -
无法注入。
- 成员函数顺序 -
按顺序排列成员函数,提高可读性。
用法
创建一个项目,并将此包添加为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).
------------------------------------------------------------------------------------------------------