博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zanphp源码解读 - MVC说起
阅读量:6068 次
发布时间:2019-06-20

本文共 1705 字,大约阅读时间需要 5 分钟。

前言

当然从我们熟悉(但不完全熟悉)的 MVC 说起。简(zhi)单(jie)的描述.

1. MVC 概览

1.1. URL 规则

上篇 中 提到的,这里不多说 规则就是这样,后面来说其源码

1.2. Controller && Action

src/Index/IndexController.php > function dbOperation() {}

doSql()); yield $this->r(0, 'json string', $result); }}

1.3. Model

从上的 namespace 得知 Model src/Model/Index/GetDBData

Controller 中 获取 一个 Model $demo
$demo->doSql() 获取相关数据
当然 这里 的 GetDBData 只是一个演示,正常来说 应该是个 User 、 Shop 等等啥的
同样 doSql() 也是演示而已, 想成 getAllUser(), getBoy() 啥的。
下面 是 Model 中的 具体 逻辑了。
这里 youzan 采用的是 SqlMap的 方式。至于为什么。看官网说明吧。
当然这个 SqlMap 不是那个传说中的 Sql注入工具

2 ]; //demo.demo_sql_id1_1对应resource/sql/demo.php中的配置 yield Db::execute("demo.demo_sql_id1_1", $data); }}
[ 'table' => "TABLES", 'sql' => " SELECT * FROM TABLES #LIMIT# ", ],];

1.4. View

JSON View

上面介绍 Model 时候 yield $this->r(0, 'json string', $result);

返回的 json ‘View’

Template View

public function showTpl(){    // -> src/Demo/View/Test/test.html    $this->assign("str", "Zan Framework");     //给模板中的变量赋值    yield $this->display("Demo/test/test");    //输出模板页面}

2. MVC 相关配置

2.1 路由配置

resource/config/share/route.php

'/index', // 默认 module 对应 src/Index目录 'default_controller' => 'index', // 默认 controller 对应 src/Index/IndexController 'default_action' => 'index', // 默认 action 对应 IndexController 中的 action 方法 'default_format' => 'html', // 响应 content-type // 'router_class' => '/namespace/router_class', // 自定义路由];

2.2 session 启用

resource/config/test/server.php

[ 'run' => true, // true 启用 session 'store_key' => 'demo.session.session', ],];

3. 源码剖析

想了想下 还是 后面再说吧, 继续吊胃口

相关资料

转载地址:http://cxfgx.baihongyu.com/

你可能感兴趣的文章
WebAPi的可视化输出模式(RabbitMQ、消息补偿相关)所有webapi似乎都缺失的一个功能...
查看>>
js练习本
查看>>
mysql的innodb中事务日志ib_logfile
查看>>
Java命令: jps
查看>>
鬼谷子
查看>>
我的友情链接
查看>>
Microsoft Visual SourceSafe OLE Automation
查看>>
android源码是不是包含联想的支持?
查看>>
iostat 命令监控磁盘IO
查看>>
java反射详解
查看>>
android无法识别adb devices解决方法
查看>>
站长常用服务器软件总结
查看>>
CSS纯图片圆角Box的实现技巧
查看>>
Maven:简介(1)
查看>>
安卓SDK 安装问题
查看>>
Kubernetes 1.8.4 手动安装教程-安装Etcd(二)
查看>>
解析各大电子商务网站订单号的生成方式
查看>>
IOS开发-Foundation笔记
查看>>
[转]Mybatis Plus 插件注册机
查看>>
UTF8 与 UTF8 +BOM 区别
查看>>