prestashop / php-coding-standards
v5
2024-05-23 12:27 UTC
Requires
- php: >=7.2.5
- symfony/console: ~3.2 || ~4.0 || ~5.0 || ~6.0 || ~7.0
- symfony/filesystem: ~3.2 || ~4.0 || ~5.0 || ~6.0 || ~7.0
Requires (Dev)
Suggests
- phpstan/phpstan: ^0.12
- prestashop/autoindex: ^2.0
- prestashop/header-stamp: ^2.0
- squizlabs/php_codesniffer: ^3.4
README
此仓库包含检查仓库是否遵循PrestaShop社区定义标准的工具,并为其中一些提供配置文件。
相关包
安装
composer require --dev prestashop/php-dev-tools
## Development dependencies runtimes
composer require --dev friendsofphp/php-cs-fixer
composer require --dev phpstan/phpstan
composer require --dev prestashop/header-stamp
composer require --dev prestashop/autoindex
composer require --dev squizlabs/php_codesniffer
当此项目成功添加到依赖项后,您可以在项目中启用每个审查工具。
版本指导
版本 | 状态 | Packagist - | 命名空间 | 仓库 | 文档 | PHP版本 |
---|---|---|---|---|---|---|
1.x | EOL | prestashop/php-dev-tools |
N/A | v1.x | N/A | >=5.6,<7.2 |
2.x | EOL | prestashop/php-dev-tools |
N/A | v2.x | N/A | >=5.6,<7.2 |
3.x | 安全修复 | prestashop/php-dev-tools |
N/A | v3.x | N/A | >=5.6,>=7.2.5 |
4.x | EOL | prestashop/php-dev-tools |
N/A | v4.x | N/A | >=7.2.5 |
5.x | 最新版 | prestashop/php-dev-tools |
N/A | master | N/A | >=7.2.5 |
用法
您项目中所添加的配置文件可以自由修改以匹配您的需求。
运行工具可以通过调用它们各自的二进制文件来完成
PHP CS Fixer
使用以下命令初始化配置
$ php vendor/bin/prestashop-coding-standards cs-fixer:init [--dest /path/to/my/project]
它将在项目根目录创建一个配置文件 .php-cs-fixer.dist.php
。
升级说明:从4.1.0升级到新版本时,您应重新运行init脚本或重命名您的.php_cs.dist
文件为.php-cs-fixer.dist.php
,以匹配cs-fixer的新要求。
$ vendor/bin/php-cs-fixer fix
PHPStan
$ php vendor/bin/prestashop-coding-standards phpstan:init [--dest /path/to/my/project]
它将在tests/phpstan
中创建一个默认文件phpstan.neon
,这是运行phpstan所必需的。默认的phpstan级别是最低的,但我们建议您更新此值以获取更多推荐。
$ _PS_ROOT_DIR_=<Path_to_PrestaShop> php vendor/bin/phpstan --configuration=tests/phpstan/phpstan.neon analyse <path1 [path2 [...]]>
Autoindex
将index.php文件应用于您的项目所有子文件夹,将有助于避免目录被web服务器列出。
$ vendor/bin/autoindex prestashop:add:index <path>
Header Stamp
您可以通过应用header stamp来更新许可证头。
以下是一个示例调用,为PrestaShop模块应用默认许可证
$ vendor/bin/header-stamp --license=assets/afl.txt --exclude=vendor,node_modules
提供有--help
的帮助选项。