hyva-themes / hyva-coding-standard
一套Hyvä特定的PHP CodeSniffer规则,扩展了Magento编码标准
Requires
- php: >=7.3
- magento/magento-coding-standard: ^25.0
- squizlabs/php_codesniffer: ^3.6.1
Requires (Dev)
- phpunit/phpunit: ^9.5
README
一套Hyvä特定的PHP CodeSniffer规则,扩展了Magento编码标准。
安装
我们不推荐将hyva-coding-standard作为Magento项目的开发依赖项安装,因为它与Magento共享一些依赖项,这很容易导致composer版本冲突。
相反,我们建议独立安装hyva-coding-standard。
独立安装
运行以下命令,在目录hyva-coding-standard
中独立安装编码标准。
您可以在Magento项目文件夹内部或外部执行此操作。
如果您想设置PHPStorm检查并且使用远程PHP解释器(例如warden),您将需要在Magento项目中安装编码标准(以下将详细介绍)。
否则,我们建议在您的Magento项目文件夹外部执行此操作,以免干扰项目结构。
composer create-project --no-plugins --no-dev hyva-themes/hyva-coding-standard hyva-coding-standard
这也是在CI管道中检查编码标准的推荐方法。
作为项目的开发依赖项安装
不建议将hyva-coding-standard作为项目依赖项安装。相反,考虑按上述方式独立安装。
如果您仍然想要进行,因为您确信与Magento共享的依赖项具有兼容的版本,请运行以下命令
composer require --dev hyva-themes/hyva-coding-standard ./vendor/bin/phpcs --config-set installed_paths ../../magento/magento-coding-standard,../../phpcompatibility/php-compatibilit,../../hyva-themes/hyva-coding-standard/src
命令行使用
无论您如何安装hyva-coding-standard,您都可以通过在安装它的文件夹内运行vendor/bin/phpcs
来检查您的代码。
例如,如果您在主目录中有一个独立的hyva-coding-standard安装,在文件夹hyva-coding-standard
内,执行以下操作:
~/hyva-coding-standard/vendor/bin/phpcs --standard=HyvaThemes app/code/path/to/check
如果您将其作为Magento项目依赖项安装,请相应地调整phpcs
的路径
./vendor/bin/phpcs --standard=HyvaThemes app/code/path/to/check
PHPStorm中的配置
根据您是否使用容器化或本地PHP解释器,设置PHPStorm配置的方式不同。
对话框的详细信息也取决于PHPStorm的版本。以下说明基于PHPStorm 2022.1.3。
使用本地PHP解释器配置PHPStorm
- 在PHP设置下,确保已配置本地PHP解释器。
- 在“PHP > 质量工具”下选择PHP_CodeSniffer
- 在下拉列表中选择“本地”配置
- 单击下拉列表旁边的三个点按钮
- 输入您独立安装文件夹中的
vendor/bin/phpcs
和vendor/bin/phpcbf
的绝对路径(例如,在我的情况下是/Users/vinai/hyva-coding-standard/vendor/bin/phpcs
)。 - 单击“验证”按钮,然后关闭对话框并选择“确定”以确认一切配置正确。
- 在PHPStorm设置中,转到“编辑 > 检查 > PHP > 质量工具”
- 选择“PHP_CodeSniffer验证”
- 确保文件名扩展输入包含“php,phtml,css”
- 在“编码标准”下拉列表中,选择“自定义”
- 单击下拉列表旁边的三个点按钮
- 输入您独立安装中HyvaThemes规则集的绝对路径(例如,在我的情况下是
/Users/vinai/hyva-coding-standard/src/HyvaThemes
)。 - 单击“确定”以应用编码标准的路径,然后再次单击“确定”以关闭设置对话框。
使用Docker中的PHP(例如warden)
当使用基于容器的PHP开发环境时(例如 warden),PHPStorm通常配置为在容器内运行“远程”PHP解释器。
在这种情况下,PHPStorm代码检查集成只能够在项目文件夹结构内部的编码标准安装中工作。这是PHPStorm的一个限制。
这意味着,您必须在Magento基本目录内独立安装hyva-coding-standard
。您可能希望在PHPStorm中将其配置为排除目录,以便不进行索引。
例如,在warden的情况下,在项目目录内创建编码标准独立安装的命令如下
warden shell composer create-project --no-plugins --no-dev hyva-themes/hyva-coding-standard hyva-coding-standard
然后配置PHPStorm使用容器内的文件系统路径来使用编码标准
- 在PHP设置中,确保已配置容器的远程PHP解释器。
- 在“PHP > 质量工具”下选择PHP_CodeSniffer
- 在下拉菜单中选择正确的远程配置(例如,在warden的情况下,“解释器:php-fpm”)。
- 点击下拉菜单旁边的带三个点的按钮
- 输入您独立安装文件夹中
vendor/bin/phpcs
和vendor/bin/phpcbf
的绝对路径(例如,在warden的情况下,为/var/www/html/hyva-coding-standard/vendor/bin/phpcs
)。 - 单击“验证”按钮,然后关闭对话框并选择“确定”以确认一切配置正确。
- 在PHPStorm设置中,转到“编辑 > 检查 > PHP > 质量工具”
- 选择“PHP_CodeSniffer验证”
- 确保文件名扩展输入包含“php,phtml,css”
- 在“编码标准”下拉列表中,选择“自定义”
- 单击下拉列表旁边的三个点按钮
- 输入您独立安装中HyvaThemes规则集的绝对路径(例如,在我的情况下,为
/var/www/html/hyva-coding-standard/src/HyvaThemes
)。 - 单击“确定”以应用编码标准的路径,然后再次单击“确定”以关闭设置对话框。
许可证
版权所有 © Hyvä Themes 2022年至今。保留所有权利。
本产品根据BSD-3-Clause许可证授权。
有关更多信息,请参阅LICENSE.md文件。