博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用纯php实现MVC框架,文件目录模仿yii2
阅读量:4006 次
发布时间:2019-05-24

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

一.首先是,是搭建框架,文件目录如下(这是我用自己的框架开发的一个体重管理系统的项目)

体重管理系统的路径
1.1. 入口文件
根据这个目录,我们首先要配置一个入口文件,在web文件夹下的index.php文件。
代码如下

$method_name(); }else{ echo 'file do not exist!'; } ?>

这里要引入config的配置文件。然后其他的原理就是,根据url去获取调用的controller和method。根据controller去找到对应的控制器文件,然后判断这个控制器文件是否存在,如果存在则用include_once引入这个控制器文件,然后new这个类。然后通过调用类的方法把这个方法名放上去。就实现了调用指定控制器里面的指定方法。

其次,设置一个默认的控制器和方法,保证什么值都没有的时候去调用主页。

1.2.控制器代码

已首页的控制器为例子,代码如下:

getAccountById(1); $data['account'] = $result['account']; $this->render('default/index.php', $data); } } //render方法放在BController里面 public function render($file_path, $data){
include_once('../views/'. $file_path); }

控制器主要做的是将model引入进来,然后new方法实例化这个类。然后调用里面的方法,在调用view层代码的时候。就用include_once来引入视图层的php文件,这样就能实现yii2里面说的,在视图层使用php代码的方式。然后视图层因为是直接引入进来的。所以可以直接使用控制器所设置的参数。然后因为我是单独写了一个render的方法。所以要把参数传入render方法就好。

1.3 model层代码

你可能感兴趣的文章
C语言位扩展
查看>>
linux dump_backtrace
查看>>
linux irqdebug
查看>>
git 常用命令
查看>>
linux位操作API
查看>>
snprintf 函数用法
查看>>
uboot.lds文件分析
查看>>
uboot start.s文件分析
查看>>
没有路由器的情况下,开发板,虚拟机Ubuntu,win10主机,三者也可以ping通
查看>>
本地服务方式搭建etcd集群
查看>>
安装k8s Master高可用集群
查看>>
忽略图片透明区域的事件(Flex)
查看>>
忽略图片透明区域的事件(Flex)
查看>>
AS3 Flex基础知识100条
查看>>
Flex动态获取flash资源库文件
查看>>
flex中设置Label标签文字的自动换行
查看>>
Flex 中的元数据标签
查看>>
flex4 中创建自定义弹出窗口
查看>>
01Java基础语法-11. 数据类型之间的转换
查看>>
01Java基础语法-13. if分支语句的灵活使用
查看>>