magento-ecg / coding-standard
一组PHP_CodeSniffer规则和嗅探器。
Requires
- php: ^7.1 || ^8.0
This package is auto-updated.
Last update: 2024-08-30 17:17:19 UTC
README
ECG Magento Code Sniffer Coding Standard 是一套针对 PHP_CodeSniffer 工具的规则和嗅探器。
它允许自动检查您的代码与一些常见的 Magento 和 PHP 编码问题,如
- 原始 SQL 查询;
- 循环内的 SQL 查询;
- 直接实例化 Mage 和 Enterprise 类;
- 不必要的集合加载;
- 过度的代码复杂性;
- 使用危险函数;
- 使用 PHP Superglobals;
等等。
支持 Magento 和 Magento 2。
安装
在开始使用我们的编码标准之前,安装 PHP_CodeSniffer。
PHPCS 的推荐安装方法是全局使用 Composer。
composer global require "squizlabs/php_codesniffer=*"
请确保 Composer 的 bin 目录(默认为 ~/.composer/vendor/bin/
)已添加到您的 PATH 中。
在您的计算机上某个位置克隆或下载此存储库,或使用 Composer 安装。
composer require magento-ecg/coding-standard
注意:现在运行我们的编码标准需要 PHP_CodeSniffer 3.x。要安装与 PHP_CodeSniffer 2.x 兼容的版本
composer require magento-ecg/coding-standard:4.*
将 ECG 标准目录添加到 PHP_CodeSniffer 的已安装路径中
$ ./vendor/bin/phpcs --config-set installed_paths /path/to/your/folder/vendor/magento-ecg/coding-standard
您可以通过运行以下命令来检查安装
$ ./vendor/bin/phpcs -i
应该输出以下内容
The installed coding standards are EcgM2, PEAR, Zend, PSR2, MySource, Squiz, PSR1, PSR12 and Magento2
使用 CLI 工具
选择要运行的 CodeSniffer 标准版本:EcgM2 用于 Magento 2
运行 CodeSniffer
$ ./vendor/bin/phpcs --standard=EcgM2,PSR2,Magento2 /path/to/code
此包与 PHPCS 编码标准的 Composer 安装插件兼容(例如 https://github.com/Dealerdirect/phpcodesniffer-composer-installer),可以在安装期间自动与 PHPCS 注册。
要检查设计模板,必须在 --extensions
参数中指定 phtml
:--extensions=php,phtml
使用 pre-commit 钩子
从现有存储库获取钩子文件。
$ /path/to/your/folder/vendor/magento-ecg/coding-standard/.githooks
在项目上安装钩子。将钩子复制到项目 Git 文件夹
cp -R ./vendor/magento-ecg/coding-standard/.githooks ./
要为所有开发者自动化钩子安装,需要在项目的 composer.json 中包含以下行
"scripts": {
"post-install-cmd": [
"git config core.hooksPath .githooks"
],
"post-update-cmd": [
"git config core.hooksPath .githooks"
]
}
运行 composer install 以刷新项目状态。
composer install
完成!现在,每个产品的提交都将根据 Magento 编码标准进行验证。
使用 PHPStorm
PhpStorm 通过与 PHP Code Sniffer 工具集成提供代码样式检查,该工具验证您的代码是否与编码标准和最佳实践一致。
一旦在 PhpStorm 中安装并配置了工具,它就可在任何打开的 PHP 文件中使用。PHP Code Sniffer 在线报告的错误和警告将显示为弹出消息。
安装开发编码标准 请参阅安装步骤。
配置 PhpStorm
- 打开首选项:"设置 > 首选项 > 编辑器 > 检查 > PHP > 质量工具"。
- 选择 "PHP_CodeSniffer 验证" 选项。
- 在 "其他一切" 范围内配置一切是正常的
- 在 "检查文件扩展名" 字段中,提供 PHP Code Sniffer 应检查的逗号分隔的文件扩展名列表:php、js、phtml。
- 应检查并选择已安装的标准路径和所选项目路径
/path/to/your/folder/vendor/magento-ecg/coding-standard
- 选择安装的编码标准路径作为标准的主路径
- 在 "编码标准" 列表中选择 "EcgM2" 或 "自定义"。
注意:我们还建议启用PHP Mess Detector验证。注意:在使用Docker或虚拟机的情况下,需要配置新的PHPCS CLI解释器,使其指向VM/Docker。
要求
PHP 5.4及以上版本。
检查php-5.3-compatible
分支以获取PHP 5.3版本。
贡献
请随时贡献新的嗅探器或对现有嗅探器的任何修复或改进。