adminmatrix/admin-server

AdminMatrix 是基于ThinkPHP框架的PHP快速开发工具,支持多应用模式、注解路由及数据库迁移,内置权限控制与中间件机制。提供自动化目录生成、统一代码规范及数据版本管理,助力高效构建模块化企业后台系统。通过Composer一键安装,命令行快速创建应用,适用于需高扩展性、标准化开发流程的场景,是兼顾开发效率与维护性的全栈解决方案

1.2.0 2025-03-26 10:07 UTC

This package is auto-updated.

Last update: 2025-03-30 23:24:55 UTC


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. 安装

composer require adminmatrix/admin-server

2. 创建应用

php think build admin

3. 开发流程

a. 控制器开发

namespace app\admin\controller\system;

use app\admin\controller\adminBase;

class adminController extends adminBase
{
    public function index()
    {
        $lists = $this->dataLists();
        return $lists;
    }
}

b. 列表处理

namespace app\admin\lists\system;

use adminmatrix\server\app\lists\BaseListsData;

class adminLists extends BaseListsData
{
    public function lists(): array
    {
        return [];
    }
}

c. 数据验证

namespace app\admin\validate\system;

use think\Validate;

class adminValidate extends Validate
{
    protected $rule = [
        'username' => 'require',
        'password' => 'require'
    ];
}

4. 数据库迁移

# 创建迁移
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分支
  • 优化数据迁移功能
  • 完善多应用支持

功能特性

  • 多应用模式支持
  • 注解路由
  • 数据库迁移
  • 控制器基类
  • 中间件支持

安装

composer require adminmatrix/admin-server

文档

多应用模式

自动生成应用目录

  • 多应用模式在根目录 /app/ 中自动创建
  • 基于 think build 基础开发

命令行创建应用

php think build admin

如果看到:

应用【admin】安装完成

则表示自动生成应用成功。

应用目录结构

会自动生成admin应用,包含以下目录和文件:

  • controller/ - 控制器目录
  • model/ - 模型目录
  • view/ - 视图目录
  • common.php - 公共函数
  • middleware.php - 中间件配置
  • event.php - 事件配置
  • provider.php - 服务提供者

自定义应用结构

在app目录下创建 build.php 文件:

return [
    // 需要自动创建的文件
    '__file__'   => [],
    // 需要自动创建的目录
    '__dir__'    => ['controller', 'model', 'view'],
    // 需要自动创建的控制器
    'controller' => ['Index'],
    // 需要自动创建的模型
    'model'      => ['User'],
    // 需要自动创建的模板
    'view'       => ['index/index'],
];

数据迁移

数据迁移功能提供了版本控制数据库的方式,使数据库结构修改可追踪、可回滚。

迁移命令

  1. 创建迁移

    # 在根目录创建迁移
    php think migrate:create UserTable
       
    # 在指定应用中创建迁移
    php think migrate:create admin@UserTable
    
  2. 执行迁移

    # 执行所有未完成的迁移
    php think migrate
       
    # 执行指定应用的迁移
    php think migrate --app admin
    
  3. 回滚迁移

    # 回滚最后一次迁移
    php think migrate:rollback
       
    # 回滚指定应用的迁移
    php think migrate:rollback --app admin
       
    # 回滚指定步数
    php think migrate:rollback --step 2
    
  4. 查看迁移状态

    # 查看所有迁移状态
    php think migrate:status
       
    # 查看指定应用的迁移状态
    php think migrate:status --app admin
    

迁移文件示例

<?php
namespace app\database\migrations;

use adminmatrix\migration\Migration;

class CreateUsersTable extends Migration
{
    public function up(): void
    {
        $this->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
    declare (strict_types = 1);
    

namespace app\admin\controller;

use adminmatrix\server\app\AdminMatrix; use think\Request;

class BaseController extends AdminMatrix {

protected function initialize(): void
{
    // 初始化操作
}

}


2. 业务控制器继承基础控制器:

<?php namespace app\admin\controller;

class User extends BaseController {

// 控制器逻辑

}


## 中间件
中间件可用于路由过滤、权限验证、日志记录等。具体使用方法请参考ThinkPHP官方文档。

# 贡献代码
1. Fork 本仓库
2. 创建新的分支: `git checkout -b feature/your-feature`
3. 提交更改: `git commit -am 'Add some feature'`
4. 推送到分支: `git push origin feature/your-feature`
5. 提交 Pull Request