IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> PHP知识库 -> PHP微擎数据流 -> 正文阅读

[PHP知识库]PHP微擎数据流

上期分享了lumen框架数据的一个走向,本次解析下微擎的数据走向

首先需要解压到服务器上之后,进行公众号接入,具体的按照教程一步步走就行

本人在接入时也是遇到了点问题,多方调试后发现是域名的问题,所以小伙伴们也要注意下。

话不多说,我们将我们的项目解压到addons目录下

这就是解压后的项目结构与微擎的目录结构

我们从目录结构中不难看出,我们需要去看manifest.xml文件中的入口配置,

这里就着重分析下门店管理(store)模块,他的走向是stores方法,重定向是false

我们去看下site.php文件里面,因为项目不是特别大的话是可以写到一起的,比较大的话可以在

inc目录下区分moble和web进行前后端分离?。

找到该方法,因为都写在一起,所以通过doweb和domobile来区分前后端

?首先是全局变量,$_W是data目录下config里面的配置参数,里面可以增加参数,是一些数据库或者其他的一些参数,在这里可以直接取到通过名字,$_GPC是微擎里面定义接收参数的,他可以接收post,get传的参数,在这里也是声明为全局标本量,方便下面取值,$code的话可无关紧要。$weid指的是uniqueid,因为一个公众号可添加多个模块,我们要通过这个id来进行数据的区分,所以每个表中都是有这个id的,作为数据的唯一标识。

然后使用$this指向权限检测的方法进行权限检测

往下面接着走我们可以看到是两个定值的字符串,然后进行页面跳转传参,我们去stores页面进行查看下

首先第一行就是common/header公共的头部,那么既然他有头部,那么就有对应的footer底部

因为微擎不需要模板变量赋值,所以可以直接在页面取值,真的是非常方便昂,页面首先就进行权限验证,然后显示相应的代码

我们接着向下看是两条语句,微擎的数据查询语句也是很独特,我们看下他的文档里面是怎么说的

?可以看出来fetchall是查询所有数据,tablename是指向了之前的一个定值参数

?后面也是同理跟上where条件,语法稍微有点原生,但也不是特别的原生,毕竟每个框架都是不一样的嘛,需要我们慢慢熟悉,hhhhh。

但是注意下,fetchall查询的为二维数组,特别注意!

?下面是一个三元判断$operation如果为空的话就是display,然后判断该值,如果是setting的话就执行以下代码块,从字面意思可以看到是更新这里可以看出是通过$operation的值来执行那些代码

这是页面上显示的内容,显示op的三个值,分别对应添加管理和配置功能。

?对相关数据进行处理后进行处理更新。然后message进行提示,这是微擎的提示方式,跳转提示success

微擎也可以使用message($math,'','ajax');相当于tp里面的var_dump;打印数据,这可以用来查看数据进行调试。

如果他的值为display时,为门店管理功能,接收到相应的参数对其进行处理,去空格和转整型,进行循环排序提示操作成功。

然后下面是分页功能和搜索,都是接收相应的参数页码和关键字,在进行判断,进行where条件拼接,向数据库进行查询,然后跳转提示。

接下来是值为post时,为增加门店模块,load()->func('tpl');,如果要在模板中使用表单控件?,必须调用此方法?。然后对门电编号进行转整型,对相应的数据进行查询,如果查询结果为空的话,就更改他的开始和结束时间,然后对他的门店网址进行反序列化,下面就是对许多数据的去空格和转整形,以及对数据字段长度或者不能为空一些验证,向数据表中进行插入。

?下面是如果开始时间为数组,就是我们上面的一条查询语句中的结果,以此来判断更新

如果里面的begintime是数组的话,循环遍历数据在进行插入。

这个ifelse对应的是上面的if ($operation == 'post'),如果不是post的话,就是删除方法,

首先对该数据进行查询,如果结果为空的话进行提示不存在或者已经删除,不为空的话就进行删除操作。

然后对他的cookie进行解密,并且设置store值为当前时间戳加上一天的时间戳,然后引入stores模板。

到这里就算是结束了,再见。

  PHP知识库 最新文章
Laravel 下实现 Google 2fa 验证
UUCTF WP
DASCTF10月 web
XAMPP任意命令执行提升权限漏洞(CVE-2020-
[GYCTF2020]Easyphp
iwebsec靶场 代码执行关卡通关笔记
多个线程同步执行,多个线程依次执行,多个
php 没事记录下常用方法 (TP5.1)
php之jwt
2021-09-18
上一篇文章           查看所有文章
加:2022-04-09 18:04:45  更:2022-04-09 18:05:29 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 1:39:24-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码