mirror of
http://124.126.16.154:8888/singularity/hyperf-admin.git
synced 2026-01-15 07:15:06 +08:00
3.8 KiB
3.8 KiB
我们通过一个具体案例, 来看看如何应用hyperf-admin快速实现
1.需求描述
实现一个某校年级内各班级学生的各科成绩管理后台, 要求如下
- 列表显示学生 年级,班级,学习,学科,成绩,时间,性别,年龄
- 可以按成绩 倒序/正序排列
- 可以批量导入/导出学生成绩
- 可以通过 年级,学生名称,班级 等条件筛选
- 最好列表可以分页签直接显示各科成绩
- 没有原型图
2. 数据库定义
这里不做太复杂的设计, 仅用一张表来完成此需求
CREATE TABLE `student_score` (
`id` int(12) unsigned NOT NULL AUTO_INCREMENT,
`grade` tinyint(4) unsigned NOT NULL COMMENT '年级',
`class` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '班级',
`subject` tinyint(4) unsigned NOT NULL COMMENT '学科',
`score` int(12) unsigned NOT NULL DEFAULT '0' COMMENT '分数',
`name` varchar(10) NOT NULL DEFAULT '' COMMENT '学生名称',
`sex` tinyint(4) unsigned NOT NULL DEFAULT '0' COMMENT '性别, 0女生, 1男生',
`create_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`update_at` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
接下来在MySql中创建表
3.功能开发
-
hyperf中添加db信息// config/autoload/databases.php 'local' => db_complete([ 'host' => '127.0.0.1', 'database' => 'test', 'username' => 'root', 'password' => 'root' ]) -
通过
DevTools开发者工具创建student_score相关的Model,Controller选择好相应的表后, 点击提交, 此时工具已经帮我们创建好相应的
app/Controller/StudentScoreController.php和app/Model/Test/StudentScore.php -
添加目录和菜单
注册路由
// config/routes.php register_route('/student_score', StudentScoreController::class);此时我们也已经完成了基础的
CRUD开发哦对了, 还有各种筛选条件呢? 也很简单, 在
scaffoldOptions中增加filter配置即可public function scaffoldOptions() { return [ 'filter' => [ 'grade', 'class', 'subject', 'name%', 'score|分数' => [ 'type' => 'input-range', 'select_type' => 'between' ] ], ]; }还有, 大家别忘了, 需求中还要去可以按页签显示, 改怎么办呢, 这个ui可有点复杂啊, 不过在
hyperf-admin里也同样简单scaffoldOptions中增加table.tabs配置即可public function scaffoldOptions() { return [ 'table' => [ 'tabs' => [ [ 'label' => '语文', 'value' => 1, 'icon' => 'el-icon-s-grid', ], [ 'label' => '数学', 'value' => 2, 'icon' => 'el-icon-s-grid', ], ] ], ]; }
至此我们已经完成了绝大部分的功能开发, 如果使用熟练, 我们应该能在十分钟内完成整个功能的前后端开发, 而且还支持复杂的前端效果.
?> 当然hyperf-admin还支持更多复杂的功能, 快快用你明亮的眼睛去发现他吧.




