本文目录导读:

在 PHP 中,虽然没有像 Python 的 pip 那样内置的包管理器,但可以通过 Composer 来管理和创建包模板,以下是几种常见的方式:
使用 Composer 创建包
基础包结构
my-package/
├── src/
│ └── MyClass.php
├── tests/
│ └── MyClassTest.php
├── composer.json
├── README.md
└── LICENSE
composer.json 模板
{
"name": "yourname/my-package",
"description": "A short description of what your package does",
"type": "library",
"license": "MIT",
"authors": [
{
"name": "Your Name",
"email": "your@email.com"
}
],
"require": {
"php": ">=7.4"
},
"require-dev": {
"phpunit/phpunit": "^9.0"
},
"autoload": {
"psr-4": {
"YourName\\MyPackage\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"YourName\\MyPackage\\Tests\\": "tests/"
}
},
"scripts": {
"test": "phpunit"
}
}
创建示例类
<?php
// src/MyClass.php
namespace YourName\MyPackage;
class MyClass
{
public function greet(string $name): string
{
return "Hello, {$name}!";
}
}
使用脚手架工具
安装脚手架工具
composer global require symfony/thanks
使用 Laravel 扩展包生成器
# 安装包生成器 composer global require orchestrator/package-tools # 创建新包 composer new-package yourname/package-name
下载现成的包模板
GitHub 上的常用模板
# 克隆一个通用的 PHP 包模板 git clone https://github.com/phundament/php-package-template.git
使用 Packagist 验证包
发布到 Packagist
# 1. 确保包在 GitHub # 2. 在 Packagist 注册并提交 # 3. 配置 Webhook 自动更新
完整的包开发工具链
开发时常用工具配置
{
"require-dev": {
"phpunit/phpunit": "^9.0",
"phpstan/phpstan": "^0.12",
"friendsofphp/php-cs-fixer": "^2.16",
"squizlabs/php_codesniffer": "^3.5"
},
"scripts": {
"test": "phpunit",
"stan": "phpstan analyse src",
"lint": "php-cs-fixer fix --dry-run",
"check": [
"@lint",
"@stan",
"@test"
]
}
}
本地测试包
使用路径仓库进行本地测试
{
"repositories": [
{
"type": "path",
"url": "../my-package"
}
],
"require": {
"yourname/my-package": "*"
}
}
快速创建包的工作流
# 1. 创建目录 mkdir my-package && cd my-package # 2. 初始化 composer composer init # 3. 添加源码目录 mkdir src tests # 4. 安装开发依赖 composer require --dev phpunit/phpunit # 5. 配置自动加载 composer dump-autoload # 6. 创建 README 和 LICENSE # 7. 推送到 GitHub # 8. 发布到 Packagist
常用包生成器工具
# Psalm 官方模板 composer create-project --prefer-source psalm/psalm # PHP-DI 项目模板 composer create-project php-di/php-di
最佳实践
- 遵循 PSR-4 自动加载标准
- 编写单元测试 覆盖率至少 70%+
- 添加文档 包含安装和使用说明
- 使用语义化版本 SemVer 规范
- 配置 CI 如 GitHub Actions 或 Travis CI
这就是在 PHP 中创建和使用包模板的基本方法,最常用的是通过 Composer 手动创建,或者使用现成的脚手架工具来加速开发。