ingenioz-it/php-skeleton

一个干净的全新PHP项目

v1.3.0 2023-10-01 18:17 UTC

This package is auto-updated.

Last update: 2024-08-25 14:25:06 UTC


README

厌倦了手动设置PHP项目吗?
这就是解决方案!

目录

描述

这是一个专注于代码质量的PHP项目框架。
它几乎包含了您开始新项目所需的一切

  • 代码质量
    • 一个可用的单元测试(使用PHPUnit)以启动您的编码体验
    • 静态分析工具(phpcsphpstanpsalmphpmdphan)以强制执行代码质量
    • 突变测试框架(Infection)以强制执行测试质量
    • 自动重构工具(Rector)以帮助您保持代码更新
    • Composer脚本,以便轻松使用所有上述功能
  • 基础设施
    • Docker支持
      • 一个Makefile,可以轻松管理Docker命令
    • GitHub工作流程,可以在每次推送和拉取请求时自动运行测试和质量工具
      • 它还会将代码覆盖率报告上传到CodeCov

安装

要创建基于此框架的新项目,请运行以下命令

composer create-project ingenioz-it/php-skeleton {PROJECT_NAME}

要求

  • docker
  • make(可选)

或者

  • PHP 8.2或更高版本
  • composer
  • xdebug

入门

建议您运行完整的测试套件以确保一切正常工作

1. 切换到您的新项目。

cd {PROJECT_NAME}

2. 设置项目

如果您正在使用Docker

make build && make start && make cli

这将构建Docker镜像并在容器内启动shell(使用exit返回到本地终端)。

如果您不使用Docker

composer install

3. 最后,运行测试

composer fulltest

最后一行应该是

OK

您现在可以开始编码了!

代码质量

项目包含一些有用的composer脚本,可以帮助您工作。

您可以在composer.json文件中查看它们的描述(查找scripts-descriptions),但以下是对主要脚本的简要概述

  • composer serve:在端口8000上运行本地Web服务器。运行此命令并转到http://localhost:8000以查看效果。
  • composer testdox:使用testdox格式运行单元测试(它比默认格式更美观)。
  • composer coverage-html:在doc/目录内生成HTML格式的代码覆盖率报告。
  • composer quality:infection:在tmp/infection.html生成突变测试报告。
  • composer quality:clean:运行phpcbf以自动修复代码格式问题。
  • composer quality:refactor:运行Rector以自动重构您的代码。警告:这是一个非常强大的工具,可能会破坏您的代码。在使用之前,请使用composer quality:refactor-dry预览更改。
  • composer fulltest:运行完整的测试集(单元测试、静态分析工具和突变测试)。

Docker

项目附带一个Makefile,帮助您管理Docker容器。

  • make build:构建Docker镜像。
  • make start:启动Docker容器(访问http://localhost:8080查看您的应用程序运行情况)
  • make stop:停止Docker容器。
  • make restart:重启Docker容器。
  • make rebuild:重建Docker镜像并重启容器。
  • make remove:删除Docker容器。
  • make cli:访问容器中的命令行(用于运行各种composer脚本)。
  • make logs:显示Docker容器的日志。
  • make clean:清理Docker环境。

自定义应用程序

通过以下步骤使项目真正属于您:

  • 更新composer.json文件,包含您项目的信息。
  • 更新README.md文件,描述您的项目。
  • 更新LICENSE文件,使用您喜欢的许可证。