作者:个信2602907025 | 来源:互联网 | 2023-08-29 20:09
一、前言
安装篇:分享好用的FastAdmin开源系统-安装篇 大多数公司都有自己内部使用的系统,让客服、运营分析数据、查看数据使用,其特点是没有复杂的业务,需要有权限控制,因此就需要一个简单方便的系统。今天和大家分享下一个PHP开源后台管理系统FastAdmin,FastAdmin非常适合中小型后台管理系统,不用二次开发就能开箱使用,适合简单业务的后台,比如有查看报表、查看日志、查看记录等需求,在我的推动下,我司目前有两个后台在使用该系统。
二、简介
FastAdmin是一款基于ThinkPHP5+Bootstrap的快速后台开发框架。系统内置了权限控制、一键生成CRUD、一键生成控制器菜单和规则、一键生成API接口文档等功能,还有丰富的插件可以下载使用,生态方便做的挺好。那么让我们一步一步来使用它吧。
三、一键CRUD
3.1 增加数据表
为了演示CRUD功能,我们需要一张简单的数据表,执行SQL语句创建一张数据。
CREATE TABLE `fa_teacher` (`id` int(11) unsigned NOT NULL AUTO_INCREMENT,`name` char(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '老师名称',`sex` tinyint(3) NOT NULL DEFAULT '1' COMMENT '性别 1:男 2:女',`age` int(11) NOT NULL DEFAULT '0' COMMENT '年龄',`switch` tinyint(1) NOT NULL DEFAULT '1' COMMENT '开启状态 1:开启 0:关闭',`create_time` int(11) NOT NULL DEFAULT '0' COMMENT '创建时间',PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='老师表';
创建数据表成功后,我们插入一些数据。
INSERT INTO `fastdemo`.`fa_teacher`(`id`, `name`, `sex`, `age`, `switch`, `create_time`) VALUES (1, '张三', 1, 20, 1, 1644761811);
INSERT INTO `fastdemo`.`fa_teacher`(`id`, `name`, `sex`, `age`, `switch`, `create_time`) VALUES (2, '李四', 1, 21, 1, 1644761822);
INSERT INTO `fastdemo`.`fa_teacher`(`id`, `name`, `sex`, `age`, `switch`, `create_time`) VALUES (3, '测试', 2, 22, 1, 1644761831);
INSERT INTO `fastdemo`.`fa_teacher`(`id`, `name`, `sex`, `age`, `switch`, `create_time`) VALUES (4, '王五', 1, 23, 1, 1644761844);
3.2 下载CRUD插件
我们登录系统后台点击插件管理列表,搜索crud,点击安装,注意还需要登录下官方账户。安装成功后会在左侧菜单栏中显示“在线命令管理”,如果没有显示就清除下缓存。
3.3 执行CRUD命令
点击左侧在线命令管理菜单,点击添加,在一键生成CRUD标签下选择我们要生成的数据表,还可以选择关联模型用来完成连接查询。可以对字段识别进行设置,我们设置完后滚动下拉,翻到最下方,点击立即执行。就能在命令管理列表中查看执行的结果了。
四、一键生成菜单
在上一步我们一键生成CRUD后,这个时候代码已经生成了,我们来添加菜单,还是点击添加按钮,选择一键生成菜单,选择我们上一步生成的数据表名称对应的控制器,也就是Teacher.php控制器,点击立即执行按钮,就能在左侧看到老师管理列表了。
在老师管理列表里我们可以看到之前插入的数据记录,还可以进行添加、删除、编辑、搜索功能。
五、分析源代码
通过上图控制台查看请求的地址,调用了teacher控制器,查看源代码发现控制器里并没有实现crud,而是继承了Backend。
Teacher.php控制器继承了Backend控制器,Backend控制器引入控制器traits下的Backend.php。
由于traits\Backend使用了trait,trait是解决PHP单继承而准备的一种代码复用机制,其他类不用继承traits下的Backend.php,只要引用了本类,就能使用类中的方法。该类实现了基础的CRUD功能,这样就不用在每个控制器中编写重复的代码了。
六、结语
本系统的介绍从安装到应用到这里就结束啦,其他功能大家可以自己探索,感谢阅读,我们下次再见。