PHP 怎么PHP包模板

wen PHP项目 2

本文目录导读:

PHP 怎么PHP包模板

  1. 使用 Composer 创建包
  2. 使用脚手架工具
  3. 下载现成的包模板
  4. 使用 Packagist 验证包
  5. 完整的包开发工具链
  6. 本地测试包
  7. 快速创建包的工作流
  8. 常用包生成器工具
  9. 最佳实践

在 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

最佳实践

  1. 遵循 PSR-4 自动加载标准
  2. 编写单元测试 覆盖率至少 70%+
  3. 添加文档 包含安装和使用说明
  4. 使用语义化版本 SemVer 规范
  5. 配置 CI 如 GitHub Actions 或 Travis CI

这就是在 PHP 中创建和使用包模板的基本方法,最常用的是通过 Composer 手动创建,或者使用现成的脚手架工具来加速开发。

抱歉,评论功能暂时关闭!