rocareer / radmin
Radmin core: a high-performance Webman-based admin platform, distributed as a webman base plugin. Build multiple projects on one maintained core.
v3.2.13
2026-08-23 14:30 UTC
Requires
- php: >=8.1
- ext-pdo: *
- doctrine/annotations: ^2.0
- firebase/php-jwt: ^7.0
- monolog/monolog: ^2.0 || ^3.0
- nelexa/zip: ^4.0
- phpmailer/phpmailer: ^6.8 || ^7.0
- psr/container: ^2.0
- rocareer/webman-migration: ^1.0.3
- rocareer/webman-status-code: ^v1.0.1
- vlucas/phpdotenv: ^5.6
- webman/console: ^2.1
- webman/event: ^1.0
- webman/think-cache: ^2.1
- webman/think-orm: ^2.1
- workerman/webman-framework: ^2.1
Requires (Dev)
- phpunit/phpunit: ^9.0
- rocareer/webman-dev: dev-master
Suggests
- ext-event: For better performance.
README
基于 Webman 的高性能前后端分离管理平台核心包(Webman 基础插件形态)。
一个核心,多个项目:所有平台能力(认证/RBAC/系统配置/CRUD 生成器/上传/模块市场/安装向导/前端 SPA)随本包分发,
业务项目通过 composer require rocareer/radmin 复用,核心代码只维护一份(vendor 内),升级即自动生效。
与旧版的关系
rocareer/webman-radmin:初代仓库(插件形态),2025-05 后停更。rocareer/radminv1/v2:独立应用形态(type: project),多项目会形成 N 份拷贝、多头维护。- 本仓库(v3.0.0 起):核心包形态(
type: library),配套rocareer/radmin-skeleton项目模板。
架构
rocareer/radmin ← 本仓库:核心包(Composer 分发,vendor 只读,单一真源)
├── src/ ← 全部平台代码(app\ support\ extend\ 命名空间)
│ ├── app/ ← admin / api / user / common / command / middleware / process / controller / view
│ ├── support/ ← member(认证/RBAC) / token(JWT) / orm / cache / lang / jwt ...
│ ├── extend/ ← ba(BuildAdmin 组件)/ ra(Radmin 工具)
│ └── Install.php ← 安装/卸载/更新钩子(WEBMAN_PLUGIN 机制)
├── config/plugin/rocareer/radmin/
│ ├── app.php ← enable + version(目录开关)
│ ├── middleware.php ← 全局鉴权链(自动合并)
│ ├── bootstrap.php ← ORM 引导
│ ├── command.php ← data:backup / data:restore
│ └── buildadmin.php / authentication.php / roles.php / terminal.php / upload.php / lang.php / filesystem.php
│ ← 平台配置(经 radmin_config() 读取,项目可覆盖)
├── config/plugin/rocareer/webman-migration/migrate.php
│ ← Phinx 双路径迁移配置(项目 + 核心包迁移目录)
├── database/migrations/ ← 核心表结构迁移(Phinx)
├── web/ ← BuildAdmin 前端源码(开发者可重新构建)
├── web/dist/ ← 预构建前端产物(安装时发布到项目 public/)
├── public/ ← 安装向导页面 + 静态资源(安装时发布到项目 public/)
└── modules/ ← 内置模块(mdeditorv3 / backups)
rocareer/radmin-skeleton ← 项目模板:Webman 骨架 + require 本核心包
rocareer/project-xxx ← 各业务项目:clone 模板 → 改命名空间 → 独立仓库
核心机制
- 基础插件机制(Webman 官方规范):安装/更新时
support\Plugin::install自动调用Radmin\Install,把接线配置与发布资源落盘到项目:config/plugin/rocareer/radmin/(Webman 自动合并:路由/中间件/进程/引导/命令/平台配置)public/(安装向导、静态资源、前端 SPA 产物)config/plugin/rocareer/webman-migration/migrate.php(双路径迁移配置)modules/(内置模块)
- 单一真源:平台代码永远只在 vendor,不拷入项目。
- 项目可覆盖:
- 配置:项目
config/buildadmin.php等顶层同名键优先于核心默认值(radmin_config()读取链) - 类:项目
app\下同名类优先于核心类(Composer PSR-4 根项目优先)
- 配置:项目
- 前端预构建:
web/dist随包发布,安装向导检测到后自动跳过 npm 现场构建(envNpmCheck/terminal/mvDist已适配)。
快速开始(标准架构:官方 Webman 骨架 + 本核心包)
# 新项目 = 官方 webman 骨架 + composer require rocareer/radmin
composer create-project workerman/webman my-project --no-interaction
cd my-project
# 配置 rocareer 私有包仓库源(radmin 及其依赖托管在 Gitee,未发布到 Packagist)
composer config repositories.rocareer-radmin vcs https://gitee.com/rocareer/radmin.git
composer config repositories.rocareer-migration vcs https://gitee.com/rocareer/webman-migration.git
composer config repositories.rocareer-status-code vcs https://gitee.com/rocareer/webman-status-code.git
# 安装核心包(Install 自动补齐 radmin 项目级配置 + 接线配置 + 前端 dist + 迁移配置)
composer require rocareer/radmin:^3.1
cp .env.example .env # 填写数据库连接(安装向导也可自动生成)
php webman migrate:run # 执行核心迁移
php webman start # 访问 http://127.0.0.1:6200 进入安装向导
升级核心
composer update rocareer/radmin # 各项目按自己的节奏升级,互不阻塞
php webman migrate:run # 执行核心新增迁移(双路径自动发现)
命令
php webman migrate:run— 迁移(项目 + 核心包迁移目录)php webman data:backup/data:restore— 数据备份/恢复
前端构建(仅核心维护者需要)
cd web
npm install
npm run build # 产物输出到 web/dist,随包发布
版本策略
- 语义化版本;破坏性变更升 minor(旧版"2.0 前不兼容更新"条款已废弃)。
- 核心改动 → master → tag → 各项目
composer update自行升级。
版权
Apache-2.0