yaroslavche / php-project
干净整洁的PHP8项目,附带开发工具
Requires
- php: >=8.1
This package is auto-updated.
Last update: 2024-09-05 14:19:53 UTC
README
干净的PHP 8.1项目,附带开发工具。
安装
下载并安装
$ composer create-project yaroslavche/php-project project-name --prefer-source
或手动
$ git clone git@github.com:yaroslavche/php-project.git project-name $ composer install --prefer-source
Post cmd
在 composer.json
中你可以看到 post-install-cmd
和 post-create-project-cmd
,它们将
- 询问所需信息
- 修改
composer.json
- 替换
README.md
中的所有 (vendor, package) 出现 - 取消
.gitattributes
中的注释行 - 从
composer.json
中移除 self(如果安装器完成后移除) - 移除安装器(默认移除整个
internal
目录)
工具
PHP_CodeSniffer
PHP_CodeSniffer 是一组两个 PHP 脚本;主脚本 phpcs 将 PHP、JavaScript 和 CSS 文件标记化以检测违反定义的编码标准的违规行为,第二个脚本 phpcbf 用于自动纠正编码标准违规行为。PHP_CodeSniffer 是一个至关重要的开发工具,确保您的代码保持整洁和一致。
检查
$ composer phpcs
修复
$ composer phpcbf
PHPMD - PHP 混杂度检测器
PHPMD 的功能是:它接收给定的 PHP 源代码库,并在其中查找多个潜在问题。这些问题可以是:可能的错误、代码效率低下、过于复杂的表达式、未使用的参数、方法、属性。
$ composer phpmd
PHPStan - PHP 静态分析工具
PHPStan 专注于在运行代码之前找到代码中的错误。它甚至在您为代码编写测试之前就捕捉到整类错误。在某种程度上,PHPStan 将 PHP 接近编译语言,因为可以在实际运行代码之前检查每一行代码的正确性。
$ composer phpstan
PHPUnit
sebastianbergmann/phpunit | 编写测试
PHPUnit 是一个针对 PHP 的程序员导向的测试框架。它是单元测试框架 xUnit 架构的一个实例。
运行测试
$ composer phpunit
代码覆盖率
$ composer coverage
将在控制台显示结果,如果成功,则在浏览器中生成 build/coverage/html/
目录(请参阅 index.html
),以及 build/coverage/clover.xml
(在某些情况下可能很有用)。
Infection - 变异测试框架
Infection 是一个基于 AST(抽象语法树)变异的 PHP 变异测试框架。它作为一个 CLI 工具运行,可以从项目的根目录执行。
变异测试是一种测试方法,它涉及以小方式修改程序并分析测试套件对这些修改的反应。如果修改代码后测试通过,那么我们可能没有覆盖到代码的某一行,或者测试对变异的代码片段效率不高。
$ composer infection