PHPackages                             since-leoo/hyperf-plugin - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. since-leoo/hyperf-plugin

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

since-leoo/hyperf-plugin
========================

一个简洁、易用的 Hyperf 插件管理系统，一键集成项目插件。

1.0.1(4mo ago)220↓92.9%1MITPHPPHP &gt;=8.1

Since Dec 28Pushed 4mo agoCompare

[ Source](https://github.com/since-leoo/hyperf-plugin)[ Packagist](https://packagist.org/packages/since-leoo/hyperf-plugin)[ RSS](/packages/since-leoo-hyperf-plugin/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (7)Versions (3)Used By (0)

Hyperf Plugin Manager
=====================

[](#hyperf-plugin-manager)

一个简洁、易用的 Hyperf 插件管理系统，支持插件的完整生命周期管理。

特性
--

[](#特性)

- 🚀 **极简开发** - 只需 `plugin.json` 即可创建插件
- 📦 **配置驱动** - 所有元数据在 `plugin.json` 中定义，无需编写 getter 方法
- 🔄 **完整生命周期** - 安装、卸载、启用、禁用、启动
- 🗃️ **数据库支持** - 自动执行迁移和数据填充
- 🔗 **依赖管理** - 自动检查和安装插件间依赖关系
- 📚 **Composer 依赖** - 支持声明第三方 Composer 包依赖
- ⚡ **优先级加载** - 按优先级顺序加载插件
- 🛡️ **错误隔离** - 单个插件失败不影响其他插件

安装
--

[](#安装)

```
composer require since-leoo/hyperf-plugin

# 发布配置文件
php bin/hyperf.php vendor:publish since-leoo/hyperf-plugin
```

快速开始
----

[](#快速开始)

### 1. 生成插件骨架

[](#1-生成插件骨架)

```
php bin/hyperf.php plugin:make my-plugin
```

### 2. 配置插件

[](#2-配置插件)

在 `bin/hyperf.php 文件中`

`require BASE_PATH . '/vendor/autoload.php';` 这行代码下 添加以下代码

```
 \SinceLeoo\Plugin\PluginBootstrap::init();
```

编辑 `plugins/my-plugin/plugin.json`，设置 `enabled: true` 启用插件。

### 3. 安装插件

[](#3-安装插件)

```
php bin/hyperf.php plugin:install vendor/my-plugin
```

插件结构
----

[](#插件结构)

```
plugins/my-plugin/
├── src/
│   ├── Plugin.php           # 插件主类（必需）
│   ├── ConfigProvider.php   # 配置提供者（可选）
│   └── Command/             # 命令目录（可选）
├── Database/
│   ├── Migrations/          # 迁移文件（可选，自动检测）
│   └── Seeders/             # 填充器（可选，自动检测）
├── publish/                 # 可发布文件（可选）
├── install.lock             # 安装状态文件（自动生成）
└── plugin.json              # 插件配置（必需）

```

plugin.json 配置
--------------

[](#pluginjson-配置)

```
{
    "name": "vendor/my-plugin",
    "version": "1.0.0",
    "description": "插件描述",
    "author": "作者",
    "namespace": "Vendor\\MyPlugin",
    "priority": 0,
    "enabled": true,
    "dependencies": ["vendor/other-plugin"],
    "composer_require": {
        "guzzlehttp/guzzle": "^7.0"
    },
    "rollback_on_uninstall": false,
    "configProvider": "Vendor\\MyPlugin\\ConfigProvider"
}
```

字段必填默认值说明`name`✅-插件包名（格式：vendor/name）`version`✅-版本号`namespace`❌-命名空间（用于自动加载插件类）`priority`❌0加载优先级（越大越先加载）`enabled`❌false是否启用插件`dependencies`❌\[\]依赖的其他本地插件`composer_require`❌{}依赖的 Composer 包`rollback_on_uninstall`❌false卸载时是否回滚迁移`configProvider`❌-ConfigProvider 类名Plugin 主类
---------

[](#plugin-主类)

```
