PHPackages                             ymwl/think8-addons - 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. ymwl/think8-addons

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

ymwl/think8-addons
==================

The ThinkPHP 8.0.0 Addons Package, with unified addon config management (file defaults + addon\_config database storage with cache)

v1.1.0(2w ago)016Apache-2.0PHPPHP &gt;=8.0.0

Since Nov 8Pushed 2w agoCompare

[ Source](https://github.com/ymwl/think8-addons)[ Packagist](https://packagist.org/packages/ymwl/think8-addons)[ RSS](/packages/ymwl-think8-addons/feed)WikiDiscussions master Synced 1w ago

READMEChangelog (1)Dependencies (9)Versions (7)Used By (0)

### ThinkPHP 8.0.0+ Addons Package

[](#thinkphp-800-addons-package)

当前版本：`v1.1.0`

#### 更新日志

[](#更新日志)

**v1.1.0**（2026-07-31）

- 插件配置统一管理：新增「文件默认值 + `addon_config` 数据表存储」双层配置架构
- 扩展 `get_addons_config()`：数据库配置值自动覆盖文件默认值，新增 `$type=true` 返回简化键值映射
- 增强 `set_addons_config()`：写入 `config.php` 的同时将配置值同步到 `addon_config` 数据表
- 新增 `get_addons_db_config()`：读取数据表配置（带缓存，缓存键 `addon_config_{插件名}`）
- 新增 `get_addons_config_value()` / `set_addons_config_value()`：单个配置项便捷读写
- 完善降级兼容：`addon_config` 表未创建时自动回退纯文件模式，不影响已有插件运行
- 文档：`info.json` 新增版本兼容性声明字段说明（`require_php` / `require_crm` / `max_crm`，由宿主项目在安装/升级/启用时检查）

**v1.0.4**（2025-06-30）

- 多应用安全隔离：插件路由仅在 `index` 应用中注册和执行，防止 admin/install 等管理应用路由污染
- 路由注册前自动检查插件启用状态，已禁用插件的路由将被跳过
- 插件目录扫描增加缓存机制，减少重复 IO 提升性能
- 修复 `loadService()` 中 `json_decode` 错误解析文件路径而非文件内容的 Bug
- 插件路由参数校验提前至事件触发之前，增强安全性
- 移除 `getInfo()` 中自动附加 URL 的冗余逻辑

**v1.0.3**

- 新增 `get_addons_menu()` 获取插件菜单
- 新增 `get_addons_list()` 获取插件列表（含缓存）
- 完善插件安装/卸载生命周期

#### 环境

[](#环境)

- php &gt;=8.0.0
- ThinkPHP ^8.0.0（支持多应用模式）

#### 安装

[](#安装)

```
composer require ymwl/think8-addons
```

#### 配置

[](#配置)

系统安装后会自动在 `config` 目录中生成 `addons.php` 的配置文件

#### 公共配置

[](#公共配置)

```
declare(strict_types=1);

return [
    // 是否自动读取取插件钩子配置信息
    'autoload' => false,
    // 当关闭自动获取配置时需要手动配置hooks信息
    'hooks' => [
        // 可以定义多个钩子
        'testhook' => 'test' // 键为钩子名称，用于在业务中自定义钩子处理，值为实现该钩子的插件，
        // 多个插件可以用数组也可以用逗号分割
    ],
    'route' => [],
    'service' => [],
];
```

或者在多应用中 `config` 目录中新建`addons.php`,内容为:

```
