# adminmatrixServer **Repository Path**: adminmatrix/adminmatrix-server ## Basic Information - **Project Name**: adminmatrixServer - **Description**: 帮助快速使用thinkphp 拥有完善的 MAC 逻辑 , 无需再写公共层逻辑,包含命令行创建model、controller、logic、validate全部重做;还增加了 多应用模式、注解路由、数据迁移 支持多应用数据迁移 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 2 - **Created**: 2025-02-28 - **Last Updated**: 2025-05-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: ThinkPHP, PHP, 快速脚手架, 注解路由, 数据迁移 ## README

adminmatrix 快捷建站

# AdminMatrix 框架分析报告 ## 一、功能特点 ### 1. 核心功能 - 多应用模式支持 - 注解路由系统 - 数据库迁移工具 - 统一的控制器基类 - 中间件支持 - 列表数据处理 - 权限控制系统 ### 2. 目录结构 ``` app/admin/ # 后台应用目录 ├── controller/ # 控制器目录 ├── model/ # 模型目录 ├── validate/ # 验证器目录 ├── lists/ # 列表处理目录 ├── logic/ # 业务逻辑目录 ├── database/ # 数据库迁移目录 ├── common.php # 公共函数文件 ├── event.php # 事件配置文件 ├── middleware.php # 中间件配置文件 └── Module.json # 模块配置文件 ``` ## 二、优势 1. **开发效率** - 快速建站工具 - 自动生成应用目录 - 统一的代码规范 2. **功能完整** - 完整的后台管理系统解决方案 - 内置权限控制 - 数据列表处理 3. **扩展性** - 多应用模式支持 - 中间件机制 - 注解路由 4. **维护性** - 清晰的分层架构 - 统一的代码规范 - 数据库版本控制 ## 三、劣势 1. **学习曲线** - 需要同时掌握 ThinkPHP 和框架特性 - 注解系统需要额外学习 2. **文档完善度** - 部分功能文档不够详细 - 缺少完整的示例项目 3. **社区支持** - 相对较新的框架 - 社区资源较少 ## 四、使用教程 ### 1. 安装 ```bash composer require adminmatrix/admin-server ``` ### 2. 创建应用 ```bash php think build admin ``` ### 3. 开发流程 #### a. 控制器开发 ```php namespace app\admin\controller\system; use app\admin\controller\adminBase; class adminController extends adminBase { public function index() { $lists = $this->dataLists(); return $lists; } } ``` #### b. 列表处理 ```php namespace app\admin\lists\system; use adminmatrix\server\app\lists\BaseListsData; class adminLists extends BaseListsData { public function lists(): array { return []; } } ``` #### c. 数据验证 ```php namespace app\admin\validate\system; use think\Validate; class adminValidate extends Validate { protected $rule = [ 'username' => 'require', 'password' => 'require' ]; } ``` ### 4. 数据库迁移 ```bash # 创建迁移 php think migrate:create UserTable # 执行迁移 php think migrate # 回滚迁移 php think migrate:rollback ``` ## 五、待开发功能 1. **前端集成** - 需要集成前端框架 - 需要完善UI组件库 2. **文档完善** - 需要补充更多使用示例 - 需要完善API文档 3. **功能增强** - 缓存机制优化 - 日志系统完善 - 更多中间件支持 ## 六、不明确的部分 1. **权限系统** - 权限粒度的具体实现 - 权限缓存机制 - 动态权限控制 2. **列表处理** - 复杂查询条件的处理 - 大数据量下的性能优化 - 自定义导出功能 3. **中间件系统** - 中间件的优先级控制 - 中间件的动态配置 - 中间件的性能优化 4. **数据库迁移** - 复杂数据结构的迁移 - 数据回滚的完整性保证 - 多数据库支持 ## 七、建议 1. **文档完善** - 补充更多使用示例 - 完善API文档 - 添加最佳实践指南 2. **功能增强** - 添加更多实用中间件 - 优化性能 - 增加测试用例 3. **社区建设** - 建立官方文档网站 - 提供示例项目 - 建立社区交流平台 # 许可证 Apache License Version 2.0 see http://www.apache.org/licenses/LICENSE-2.0.html # 说明 AdminMatrix 是一个基于 ThinkPHP 框架的快速建站工具,提供了完整的后台管理系统解决方案。 # 版本更新 ### 2025年3月12日10:16:55 - 创建dev分支 - 优化数据迁移功能 - 完善多应用支持 # 功能特性 - 多应用模式支持 - 注解路由 - 数据库迁移 - 控制器基类 - 中间件支持 # 安装 ```bash composer require adminmatrix/admin-server ``` # 文档 ## 多应用模式 ### 自动生成应用目录 - 多应用模式在根目录 `/app/` 中自动创建 - 基于 think build 基础开发 ### 命令行创建应用 ```bash php think build admin ``` 如果看到: > 应用【admin】安装完成 则表示自动生成应用成功。 ### 应用目录结构 会自动生成admin应用,包含以下目录和文件: - `controller/` - 控制器目录 - `model/` - 模型目录 - `view/` - 视图目录 - `common.php` - 公共函数 - `middleware.php` - 中间件配置 - `event.php` - 事件配置 - `provider.php` - 服务提供者 ### 自定义应用结构 在app目录下创建 `build.php` 文件: ```php return [ // 需要自动创建的文件 '__file__' => [], // 需要自动创建的目录 '__dir__' => ['controller', 'model', 'view'], // 需要自动创建的控制器 'controller' => ['Index'], // 需要自动创建的模型 'model' => ['User'], // 需要自动创建的模板 'view' => ['index/index'], ]; ``` ## 数据迁移 数据迁移功能提供了版本控制数据库的方式,使数据库结构修改可追踪、可回滚。 ### 迁移命令 1. **创建迁移** ```bash # 在根目录创建迁移 php think migrate:create UserTable # 在指定应用中创建迁移 php think migrate:create admin@UserTable ``` 2. **执行迁移** ```bash # 执行所有未完成的迁移 php think migrate # 执行指定应用的迁移 php think migrate --app admin ``` 3. **回滚迁移** ```bash # 回滚最后一次迁移 php think migrate:rollback # 回滚指定应用的迁移 php think migrate:rollback --app admin # 回滚指定步数 php think migrate:rollback --step 2 ``` 4. **查看迁移状态** ```bash # 查看所有迁移状态 php think migrate:status # 查看指定应用的迁移状态 php think migrate:status --app admin ``` ### 迁移文件示例 ```php createTable('users', function($table) { $table->increments('id'); $table->string('username', 100)->comment('用户名'); $table->string('password', 255)->comment('密码'); $table->string('email', 100)->unique()->comment('邮箱'); $table->tinyInteger('status')->default(1)->comment('状态'); $table->timestamps(); // 添加索引 $table->index('username'); $table->index('email'); }); } public function down(): void { $this->dropTable('users'); } } ``` ## 控制器使用 ### 基础控制器 1. 在应用目录下创建基础控制器: ```php