FastAdmin

Stella981
• 阅读 859

FastAdmin是一款基于ThinkPHP5+Bootstrap的极速后台开发框架。

感觉挺好用的。

开发文档https://doc.fastadmin.net/docs/index.html

根据文档就能马上安装上手。前提是你会thinkphp5,有过基础。

FastAdmin目录结构遵循ThinkPHP5官方建议的模块设计:

FastAdmin项目目录
├── addons                  //插件存放目录
├── application           //应用目录
│   ├── admin             //后台管理应用模块
│   ├── api               //API应用模块
│   ├── common             //通用应用模块 │   ├── extra //扩展配置目录 │   ├── index //前台应用模块 │   ├── build.php │   ├── command.php //命令行配置 │   ├── common.php //通用辅助函数 │   ├── config.php //基础配置 │   ├── database.php //数据库配置 │   ├── route.php //路由配置 │   ├── tags.php //行为配置 ├── extend │   └── fast //FastAdmin扩展辅助类目录 ├── public │   ├── assets │   │   ├── build //打包JS、CSS的资源目录 │   │   ├── css //CSS样式目录 │   │   ├── fonts //字体目录 │   │   ├── img │   │   ├── js │   │   │   ├── backend │   │   │   └── frontend //后台功能模块JS文件存放目录 │   │   ├── libs //Bower资源包位置 │   │   └── less //Less资源目录 │   └── uploads //上传文件目录 │   ├── index.php //应用入口主文件 │   ├── install.php //FastAdmin安装引导 │   ├── admin.php //后台入口文件,强烈建议修改 │   ├── robots.txt │   └── router.php ├── runtime //缓存目录 ├── thinkphp //ThinkPHP5框架核心目录 ├── vendor //Compposer资源包位置 ├── .bowerrc //Bower目录配置文件 ├── LICENSE ├── README.md ├── bower.json //Bower前端包配置 ├── build.php ├── composer.json //Composer包配置 └── think

应用模块

在FastAdmin中默认有四个应用模块:adminapicommonindex,你也可以扩展开发自己的应用模块。

后台模块(admin)是FastAdmin中的核心模块,后台模块又分为系统配置附件管理分类管理插件管理等多个功能模块,更多的功能模块可以在插件管理中自由的安装和卸载。

后台的前端是基于AdminLTEBootstrap进行了大量二次开发,采用RequireJS进行JS模块化管理和加载。

前台模块(index)的结构和后台功能类似,具体请参考后台模块的章节

公共模块(common)是一个特殊的模块,默认是禁止直接访问的,一般用于放置一些公共的类或其它模块的继承基类等。

Api模块(api)通常用于对接APP,用于向APP提供接口,目前FastAdmin暂未提供API相关的插件和文档,你可以直接参考ThinkPHP5官方的文档。

功能模块

功能模块指后台管理中的功能模块,比如我们的系统配置附件管理分类管理

后台开发的每一个功能模块都是基于MVC的设计模式进行开发 。在FastAdmin中,我们提供了一键生成CRUD的功能,这个一键生成CRUD生成的文件也就是我们标准的MVC文件。

以下是一个标准的功能模块所涉及到的文件

├── application
│   └── admin
│       ├── controller
│       │   └── Test.php        //控制器类
│       ├── lang
│       │   ├── zh-cn            
│       │   │   └── test.php    //功能语言包,按需加载
│       │   └── zh-cn.php        //后台语言包,默认加载
│       ├── model
│       │   └── Test.php        //模型类
│       ├── validate
│       │   └── Test.php        //验证器类 │      └── view │         └── test │            ├── index.html //列表视图 │            ├── add.html //添加视图 │            └── edit.html //编辑视图 └── public    └── assets       └── js          └── backend             └── test.js //功能模块JS文件

在FastAdmin中每一个功能模块至少对应一个功能模块JS文件,也就是说每一个控制器都对应一个同名的JS文件,其次每一个控制器的方法对应JS文件中同名的方法。

开启调试模式的方法有两种:

1、打开application/config.php,找到app_debug,将它的值置为true即可

2、如果你有启用.env环境配置,修改其中app_debug的值为true即可。

想要更详细还是看文档吧!

点赞
收藏
评论区
推荐文章
blmius blmius
1年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
刚刚好 刚刚好
6个月前
css问题
1、在IOS中图片不显示(给图片加了圆角或者img没有父级)<div<imgsrc""/</divdiv{width:20px;height:20px;borderradius:20px;overflow:h
小森森 小森森
3天前
租房类微信小程序-基于微信云开发-小程序端集成了管理员后台-一键部署,快速发布
温馨提醒本项目使用MITLicense协议,仅适用于学习交流,并且不提供无偿的、不提供无偿的、不提供无偿的维护修改服务(但可提issue)。若直接将本项目用于商用,因本项目带来的所有后果由使用者自行承担。如需商用升级版,请联系我微信,微信二维码在本博客页面右上角在此奉劝某些人,请尊重作者的劳动成果,做人积点德吧!最近发现有人拿我的源码进行二次分
小森森 小森森
3天前
计划助手V1.0-微信小程序(QQ小程序)-源代码分享
疫情期间在家感觉好无聊啊,于是利用空闲时间做了一个用来记录和管理小目标时间的小程序,命名为《小沙漏》。QQ版本小程序同步上线,QQ小程序叫《时间小沙漏》,欢迎大家前来体验,后期也会添加其他的新功能哦【区别】:微信小程序的代码与QQ小程序的源码是不一样的。微信小程序的源码基于微信小程序云开发,需要在有网络的情况下使用,具有同步功能,所有记录在删除小
小森森 小森森
6个月前
校园表白墙微信小程序V1.0 SayLove -基于微信云开发-一键快速搭建,开箱即用
后续会继续更新,敬请期待2.0全新版本欢迎添加左边的微信一起探讨!项目地址:(https://www.aliyun.com/activity/daily/bestoffer?userCodesskuuw5n)\2.Bug修复更新日历2.情侣脸功能大家不要使用了,现在阿里云的接口已经要收费了(土豪请随意),\\和注意
晴空闲云 晴空闲云
6个月前
css中box-sizing解放盒子实际宽高计算
我们知道传统的盒子模型,如果增加内边距padding和边框border,那么会撑大整个盒子,造成盒子的宽度不好计算,在实务中特别不方便。boxsizing可以设置盒模型的方式,可以很好的设置固定宽高的盒模型。盒子宽高计算假如我们设置如下盒子:宽度和高度均为200px,那么这会这个盒子实际的宽高就都是200px。但是当我们设置这个盒子的边框和内间距的时候,那
艾木酱 艾木酱
5个月前
快速入门|使用MemFire Cloud构建React Native应用程序
MemFireCloud是一款提供云数据库,用户可以创建云数据库,并对数据库进行管理,还可以对数据库进行备份操作。它还提供后端即服务,用户可以在1分钟内新建一个应用,使用自动生成的API和SDK,访问云数据库、对象存储、用户认证与授权等功能,可专
Wesley13 Wesley13
1年前
MySQL查询按照指定规则排序
1.按照指定(单个)字段排序selectfromtable_nameorderiddesc;2.按照指定(多个)字段排序selectfromtable_nameorderiddesc,statusdesc;3.按照指定字段和规则排序selec
Stella981 Stella981
1年前
Angular material mat
IconIconNamematiconcode_add\_comment_addcommenticon<maticonadd\_comment</maticon_attach\_file_attachfileicon<maticonattach\_file</maticon_attach\
Wesley13 Wesley13
1年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
helloworld_28799839 helloworld_28799839
6个月前
常用知识整理
Javascript判断对象是否为空jsObject.keys(myObject).length0经常使用的三元运算我们经常遇到处理表格列状态字段如status的时候可以用到vue