PHPackages                             icy8/drcms5-addon - 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. icy8/drcms5-addon

ActiveLibrary

icy8/drcms5-addon
=================

0.0.2(5y ago)018MITPHPPHP &gt;=7.0

Since Jan 28Pushed 5y ago1 watchersCompare

[ Source](https://github.com/d2gin/drcms5-addon)[ Packagist](https://packagist.org/packages/icy8/drcms5-addon)[ RSS](/packages/icy8-drcms5-addon/feed)WikiDiscussions master Synced today

READMEChangelog (2)DependenciesVersions (3)Used By (0)

drcms5-addon
============

[](#drcms5-addon)

thinkphp5.0 实现插件功能

### 项目介绍

[](#项目介绍)

主仓

国内仓

这是一个基于 thinkphp5.0实现的插件依赖，目前只支持5.0版本，切勿在5.1及以上使用。

默认的插件总目录是`./addons/`，可以自行更改，但不建议更改。

暂处于测试阶段，可能有比较多的地方不完善。

### 环境要求

[](#环境要求)

php &gt;= 7.0

thinkphp 5.0

composer

### 安装

[](#安装)

```
composer require icy8/drcms5-addon

```

### 功能介绍

[](#功能介绍)

1. **安装机制：** 插件的安装目前没有接入数据库，只读取插件目录。设计上有两个目录是主程序覆盖目录，分别是`application`、`public`，这两个目录会在安装时移动覆盖主程序的文件/目录，有冲突会中断安装。还有一个目录是资源目录`assets`，安装过程中会在程序根目录自动创建`[ROOT_PATH]/public/assets/addons/[addo_name]/` 并将文件移入该目录。
2. **卸载机制：** 删除根目录的资源文件；删除插件目录。
3. **开启机制：** 暂无
4. **关闭机制：** 暂无
5. 上述机制均可在插件主类中自定义`install`、`uninstall`、`enable`、`disable` 方法进行扩展。
6. **插件主类：** 类文件必须放置在 `addons/[addon_name]/[addon_name].php` 类名必须与插件名一致。
7. **插件访问：** [http://127.0.0.1/addon/\[addon\_name\]/\[controller\]/\[action\]](http://127.0.0.1/addon/%5Baddon_name%5D/%5Bcontroller%5D/%5Baction%5D) 过程会自动调用**插件控制器**。
8. **插件控制器：** 插件访问的基础，所有控制器都必须放置在`addons/[addon_name]/controller` 文件夹中，支持多级控制器。插件控制器必须继承`drcms5\addon\Controller`，否则会导致模版引用失败。
9. **插件模版：** 同上，文件放在`addons/[addon_name]/view`。
10. **URL生成：** 用于插件访问的URL可以用函数`addon_url($url = '', $vars = '', $suffix = true, $domain = false)`生成，注意：这是只针对插件访问URL的，主程序URL请用框架自带函数。如果不喜欢用函数的可以使用`\drcms5\addon\util\AddonUrl::build()`方法生成，效果是一致的。

### 插件示例

[](#插件示例)

demo目录有一个简单的示例，复制至程序根目录的`./addons/`

运行指令

```
php think draddon --addon=drmo install
```

访问

出现下面文字即安装成功

```
drmo 插件示例。我是 app_begin hook， 我拦截了程序。
欢迎来到 drmo 插件示例，你访问了drmo/controller/Test.php

```

阅读示例从Drmo.php入手，有简单注释。

### 指令

[](#指令)

为了方便测试，我特地做了一个简单的指令。

```
# 插件列表
php think draddon list
```

```
# 安装install、卸载uninstall、启动enable、关闭disable
# --force 可选，强制执行
# --addon=addon_name 必填，插件名
php think draddon --addon=drmo install
```

### 后续版本

[](#后续版本)

- 缓存
- 兼容ThinkPHP 5.1
- 计划是否兼容ThinkPHP 6.0，或者出一个单独的6.0版。

###  Health Score

20

—

LowBetter than 13% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity39

Early-stage or recently created project

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~38 days

Total

2

Last Release

1944d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/0c30e6710c7c0e9c439e2f15a556b268edd644dbb8c17e51a552ed6fe8af4457?d=identicon)[icy8](/maintainers/icy8)

---

Top Contributors

[![d2gin](https://avatars.githubusercontent.com/u/37645928?v=4)](https://github.com/d2gin "d2gin (25 commits)")

### Embed Badge

![Health badge](/badges/icy8-drcms5-addon/health.svg)

```
[![Health](https://phpackages.com/badges/icy8-drcms5-addon/health.svg)](https://phpackages.com/packages/icy8-drcms5-addon)
```

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
