dhii / php-project
PHP 开发初学者工具,简化项目创建
Requires
- php: ^7.4 | ^8.0
Requires (Dev)
- phpunit/phpunit: ^9.0 | ^10.0
- slevomat/coding-standard: ^6.0
- vimeo/psalm: ^5.0
- webmozart/path-util: ^2.3@stable
This package is auto-updated.
Last update: 2024-08-27 01:49:00 UTC
README
PHP 开发初学者工具,简化项目创建
详细信息
将此项目用作您的 PHP 库的起点!
功能
-
Docker - 使用 Docker 开发和测试您的插件。使用针对您的插件定制的环境。在浏览器中立即查看更改。构建包含完整的 WordPress 安装和您的插件及其所有预置要求的 Docker 镜像。
-
PHPStorm - 为当今最好的 PHP IDE 之一提供集成配置,包括
- Composer - 在 IDE 内部安装和管理 PHP 依赖项,无需离开 IDE。
- PHPUnit - 在 PHPStorm 中直接运行测试并获得报告。
- xDebug - 在 PHPStorm 中设置断点并检查您的代码。
- 代码覆盖率 - 在友好的 GUI 中查看尚未测试的内容。
-
静态代码分析 - 保持一致的编码风格,并在早期捕获问题。
-
持续集成 - 使用 GitHub Actions 自动验证所有贡献是否符合项目标准。
- Composer
vendor
缓存。 快速安装。
- Composer
使用说明
入门指南
使用 Composer 引导您的项目。
-
克隆并安装依赖项
composer create-project dhii/php-project my_project
在这里,
my_project
是项目文件夹的名称。 -
自定义项目
注意:以下星号
*
表示更改此值需要重新构建镜像以对开发环境产生影响。-
将
.env.example
复制到.env
。 -
.env
:BASE_PATH
- 如果您正在使用 Docker Machine,即在任何非 Linux 系统上,请将此设置为项目文件夹的绝对路径 在机器内部。如果您是在 Linux 上,则无需更改此设置。PROJECT_NAME
- 您项目的缩写。主要用于命名容器,例如使用container_name
。这对于在同一台机器上运行多个项目非常有用。PHP_BUILD_VERSION
- 插件将 构建 的 PHP 版本。这应该与您插件的最低 PHP 要求相对应。用于确定php
镜像的标签。PHP_TEST_VERSION
* - 插件将 运行 的 PHP 版本。这应该与您插件的最高 PHP 要求相对应。用于确定php
镜像的标签。
-
composer.json
:name
- 您的包名称。description
- 您的包描述。authors
- 您和/或您公司的详细信息。require
- 您项目的包和平台要求。如果您有不同的最低要求,则可能需要更改 PHP 版本。不要忘记在.env
中更新PHP_BUILD_VERSION
。require-dev
- 您项目的开发要求。用于测试和代码质量的工具。
-
更新依赖项
Composer 已安装到 build
服务镜像中。要运行 composer 命令,请使用 docker-compose run
。例如,要更新依赖,您可以运行以下命令:
docker-compose run --rm build composer update
如果您使用 PHPStorm,可以使用 composer 集成,因为项目已经为此进行了配置。
代码测试
此引导程序包括 PHPUnit。它已经配置好,您可以通过运行示例测试来验证它是否正常工作。
docker-compose run --rm test vendor/bin/phpunit
如果您使用 PHPStorm,可以使用其 PHPUnit 集成:在 tests
目录中的任何测试或文件夹上右键单击,然后选择“运行”。这将与上面的命令做同样的事情。因为 test
服务用于测试,所以测试将使用其 PHP 版本运行,这应该与您的项目最低要求相匹配,但如果您想要在具有不同规格的系统上进行测试,也可以是其他版本。
调试
引导程序在 Docker 环境的 test
服务和 PHPStorm 配置中包含 xDebug。要使用它,请右键单击 tests
目录中的任何测试或文件夹,并选择“调试”。这将启用 xDebug 运行测试。如果您收到关于 xdebug.remote_host
设置不正确并建议修复错误的错误,请通过在弹出的窗口中将该变量设置为您的机器在本地网络中的 IP 地址 来修复错误。之后,任何可通过 PHPUnit 测试访问的代码(包括测试代码本身)的断点将导致执行暂停,从而允许检查代码。
静态分析
-
Psalms
在项目根目录中运行 Psalm
docker-compose run --rm test vendor/bin/psalm
- 也将在 CI 中自动运行。
- PHPStorm 集成配置包括。
-
PHPCS
在项目根目录中运行 PHPCS/PHPCBF
docker-compose run --rm test vendor/bin/phpcs -s --report-source --runtime-set ignore_warnings_on_exit 1 docker-compose run --rm test vendor/bin/phpcbf
- 默认情况下,使用 PSR-12 和来自 Slevomat Coding Standard 的一些规则。
- 也将在 CI 中自动运行。
- PHPStorm 集成配置包括。