您现在的位置是:首页 > 正文

fastadmin开发插件的基本流程

2024-04-01 01:06:10阅读 8

什么是fastadmin?

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


fastadmin开发基础管理插件步骤

以一个学校管理插件为例

开发环境与工具

PHPSTORM

phpstudy

nginx1.15.11

mysql8.0

php7.3.4

准备工作

配置站点

我的域名设置为fast51admin.localhost.nyist.vip

第一步——安装fastadmin

安装fastadmin可以使用git克隆项目至本地或者下载安装包。

下载后解压到对应站点目录下,设置网站根目录至文件的public目录下(与tp一致)

解压后的文件

然后为网站设置对应的NGINX规则

如果成功则访问网站时可以看到,用户为admin,密码为123456

这是本次实例的规则

server {
	listen	80;
#该域名自动解析到本地127.0.0.1 无须配置本地host
	server_name fast51admin.localhost.nyist.vip;
#root路径需要修改,此次插件只使用后台,所以index为admin.php	
	root    D:/phpstudy_pro/WWW/fast51admin.localhost.vip/nyistSw/public;
	index   admin.php;
  if (!-e $request_filename) {
        rewrite  ^(.*)$  /admin.php?s=$1  last;
        break;
  }
	location ~ \.php$ {
		fastcgi_pass   127.0.0.1:9000;
		fastcgi_index  admin.php;
		include  fastcgi.conf;
	}
}

注:使用phpstudy时规则修改在网站对应的vhost文件中。

第二步——创建数据库表

以学校管理实例为例

在你安装fastadmin成功后,会自动生成一个数据库fast51

而我们自己要创建的表也在此数据库中

第三步——一键crud

这是fastadmin的一个强大功能,可以使用命令行一键生成对应数据表的控制器,模型,视图,验证器,语言包,JS等。

一键生成crud的命令

php think crud -t test

这里“-t”参数指定你要生成的数据表(可以不用写前缀名)

常用参数

-c, --controller[=CONTROLLER] 生成的控制器名,可选,默认根据表名进行自动解析

-m, --model[=MODEL] 生成的模型名,可选,默认根据表名进行自动解析

-i, --fields[=FIELDS] 生成的数据列表中可见的字段,默认是全部

-d, --delete[=DELETE] 删除模式,将删除之前使用CRUD命令生成的相关文件

第四步——生成MENU

fastadmin可通过命令控制台快速的一键生成后台的权限节点菜单规则,同时后台的管理菜单也会同步改变

一键生成menu的命令

php think menu -c test

这里“-c”参数指定控制器

生成后的样子

第五步——测试功能

测试各个自动生成的功能是否正常,是否满足自身需求

第六步——一键addon

FastAdmin可以通过命令行创建一个插件

一键生成addon的命令

php think addon -a mydemo -c create

这里“-a”参数指定插件的名称

执行该命令后会在addons目录中生成对应文件

其中的application对应的是tp自带的application文件夹

也就是前几步我们生成的文件所在的位置

第七步——实现插件

将之前我们在crud中生成的文件按对应目录复制到application中

导出我们的所有数据表,在将其合并入install.sql中

需要在插件目录中对应的插件名.php中创建插件的后台管理菜单。

注:install.sql会在插件第一次安装时执行

第八步——打包插件

命令行打包

//mydemo为你的插件目录名称

php think addon -a mydemo -c package

手动打包

进入你要打包的插件目录中,选中所有文件,压缩成zip压缩包

 

总结

使用fastadmin可以极大加快开发速度,其中还有许多细节需查阅官方文档。

官方文档链接:https://doc.fastadmin.net/docs

官方插件文档链接:https://doc.fastadmin.net/developer/55.html

网站文章

  • ios swift 继承_Swift中的继承

    ios swift 继承 什么是继承? (What is Inheritance?) Inheritance allows a class to have the same behavior as o...

    2024-04-01 01:05:36
  • 基于顺序表实现栈的基本操作

    基于顺序表实现栈的基本操作

    栈:什么是栈?又该怎么理解呢?栈(stack)又名堆栈,它是一种运算受限的线性表。其限制是仅允许在表的一端进行插入和删除运算。这一端被称为栈顶,相对地,把另一端称为栈底。栈就是一个桶,后放进去的先拿出来,它下面本来有的东西要等它出来之后才能出来(先进后出)栈(Stack)是操作系统在建立某个进程时或者线程(在支持多线程的操作系统中是线程)为这个线程建立的存储区域,该区域具有FIFO的特性,在编

    2024-04-01 01:05:31
  • NTP配置时间同步

    Oracle RAC两个节点,配置NTP使得两个节点时间同步 1)节点1和节点2都启动NTP服务,节点2(客户端)向节点1(服务器端)同步 如果测试用,可修改节点2的时间不同于节点1的时间,...

    2024-04-01 01:05:25
  • linux主机加入组播组,linux下不同主机间实现组播(练习代码)

    在写聊天室程序时,遇到一个组播问题,不能在不同主机上进行发送接收消息。。。深究发现,是本人对sendto与recvfrom的理解太浅薄。以下代码发送端与接收端可在同一主机,也可在不同主机上运行。代码直...

    2024-04-01 01:05:18
  • 正则表达式总结

    第一点:--------------有关正则前沿介绍 正则表达式是用来进行文本处理的技术,是语言无关的,在几乎所有语言中都有实现。javascript中还会用到。一个正则表达式就是由普通字符以及特殊字符(称为元字符)组成的文字模式。该模式描述在查找文字主体时待匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。就像通配符“*.jpg”、“%ab%”,它...

    2024-04-01 01:04:52
  • 计算机系统结构李学干课后习题答案,计算机系统结构习题答案(李学干).doc

    计算机系统结构习题解答第一章习题一1.2一台经解释实现的计算机,可以按照功能划分成4级。每一级为了执行一条指令需要下一级的N条指令解释。若执行第1级的一条指令需K纳秒时间,那么执行第2、3、4级的一条...

    2024-04-01 01:04:45
  • 使用 JavaScript 将相对路径转换为绝对路径

    转自:http://baifa.me/2010/01/convert-to-absolute-path.html有时为了唯一标识网址或其它开发需要,我们需要将相对的网址转换为绝对的网址。当然前人实现方式已经不少,但或多或少的存在缺点或兼容问题。下面我将总结已有实现并给出相对完美的实现。常规实现:地址转换因该实现方式千变万化,故略去代码,但在开发时需考虑 base 标签的会带

    2024-04-01 01:04:38
  • python 根据中文表头标题抓取动态(表格)文档数据

    python 根据中文表头标题抓取动态(表格)文档数据

    思路如图左侧表头标题,要获得右侧数据。网页数据提取成汉字,表格数据间会有空格,用split()分隔成list。用index()查找某个汉字表头位置,输出list下一个位置既是要得到值 text2 ='网页纯文本,爬虫数据自己转换' # 字符串分割成列表,Python 分割字符串使用 变量.split("分割标示符号"[分割次数]),分割次数表示分割最大次数,为空则分割所有。...

    2024-04-01 01:04:12
  • 云计算和外包数据安全分析及建议

    本文讲的是云计算和外包数据安全分析及建议,【IT168 资讯】很多企业,要么已经配置了云计算,要么即将配置云计算。云计算是提高灵活性、减少成本的最新技术。通过提供捆绑、可升级的软件、基础设施、数据存储及通信解决方案,云计算供应商使公司节约了资金、避免了高成本IT承诺、获得了基于所需的有效系统规模,并且可迅速配置最新服务。  一。漫步云端前需要考虑的问题 ...

    2024-04-01 01:04:04
  • 二维数组按数字大小选取前top k个数字

    题目描述 二维数组,每行是降序的,且每行的长度不固定,综合选取去重后的前top-k大的数字。 输入: [ [10,9,7,5,2] [8,6,3] [10,9,8,5] ] 选取前top-5大的数字 ...

    2024-04-01 01:03:59