| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> JavaScript知识库 -> lumen框架数据流的分析 -> 正文阅读 |
|
[JavaScript知识库]lumen框架数据流的分析 |
lumen是基于laravel的一个微型框架,它的特点就就是快,为速度而生。 最近有使用到就总结下他的数据流走向。 首先看一下他的目录结构 我们从目录结构就可以看出来,这和laravel的目录是一样的,这里只是分析了常用的几个常用的 众所周知laravel是一个重路由的框架,所以lumen也不例外,一切的方法都是需要在routes里面进行路由定义 点开app,可以看到 控制器一般定义在Http目录下,模型就在models里面,Services里面定义的是框架本身定义的一些方法,他讲一些增删改查方法封装在里面。我们在服务器里面直接调用里面的方法就可以。 下面对一个列表进行一个分析,来看看他的数据是怎么的一个走向。 这里分析一个文章管理模块,首先是index列表路由,我们去控制器看下? ?这里面的index方法没直接指向了service里面的getlist方法,从字面意思我们就可以得出是获取列表,看来方向是对的,我们去看下 ?首先我们看到后面的几个参数,从字面意思我们可以得出,三个意思分别是where条件,limit查询量,columns是查询的列,这里面直接就写成了定值,下面Article是引入的模型和表名,这里就是一个拼表查询语句,以及进行结果返回。 ?然后进行页面跳转,模板变量赋值,我们可以进行打印,看下$cate是什么 ?可以看到是一个数组对象,里面是一些参数 我们来看下视图代码,使用layui生成表格,页面设置容器,进行填充 我们看下页面是什么样的 ?可以看到表格显示到我们的视图上面 接下来看下添加文章 ?在routers文件里面进行路由定义,跳转到添加页面,这点就不详解了 ?我们可以看到这点使用了一个post方法,进行路由跳转 说明时代了参数的,我们看下控制器方法 ?我们可以看到,方法一进去就对请求方式做了判断,看看是静态跳转添加页面,还是提交添加数据,并且在下面对数据类型做了校验,可以看到是进去articleService里面的add方法 首先是使用数组接收参数,然后根据状态对他的更新时间以及添加时间两个字段进行了赋值,判断数组里面的excerpt是否为空,如果为空就调用getExcerptFromContent方法,我们来找下 可以看到这个方法是再添加时为文章摘要赋值,并且对数据做了一定的处理,然后再重新实例化一个Article类,在进行保存,进行提示?。 看下编辑 此处也是先判断,看看是点击编辑还是提交编辑内容,可以看到还是对请求方式的判断 我们需要注意input('id',0),0是id为空时的默认值,防止数据为空时页面报错,还是比较细节的 我们继续看下find方法 ?就是一个简单的查询语句,根据id,毕竟是编辑数据还是需要进行页面回显。 然后将数据添加进数组,然后获取到文章摘要以及相对应的参数,显示到页面上,进行回显。 如果不是get方法,说明是提交编辑,对数据进行验证,然后获取相应参数以及对数据进行处理,再进行保存提示。 ?根据id对状态进行变更,判断文章摘要是否为空,为空时使用getExcerptFromContent方法获取到摘要,进行保存。 删除方法的话就是相对比较简单些 还是对数据类型进行校验,然后接受id和类型,进入articleService的del方法 ?如果类型为空的话,对里面的数据进行变更,如果类型不为空的话,就进行删除。 这样一套正删改查就完毕了,有些地方有问题,发现的话请积极指出来,谢谢 总结下,他的大概走向就是路由->控制器->service->控制器->页面渲染 他讲一些sql语句操作类的都写在了service立面,控制器大多是数据类型判断,校验,页面跳转传参。 这就是一套大概的流程了,谢谢观看 ? |
|
JavaScript知识库 最新文章 |
ES6的相关知识点 |
react 函数式组件 & react其他一些总结 |
Vue基础超详细 |
前端JS也可以连点成线(Vue中运用 AntVG6) |
Vue事件处理的基本使用 |
Vue后台项目的记录 (一) |
前后端分离vue跨域,devServer配置proxy代理 |
TypeScript |
初识vuex |
vue项目安装包指令收集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
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/24 5:04:32- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |