小恺教你写一个属于自己的MVC框架-更新完毕
时间:2009-08-18
来源:互联网
1.php基础知识
2.单一入口, 不知道的可以看看这里 (http://www.php100.com/html/webkaifa/PHP/PHP/2009/0819/3199.html)
具备以上两点, 那我们就可以开始啦. 哈哈!
先来说一下程序的执行流程
首先有个入口文件, 然后初始化一些程序, 之后根据请求调用不同的类和方法
首先我们弄一个入口文件 Index.php 来看看代码
复制代码
|
代码没什么特别的, 首先先引入Init.php文件 然后实例化一个类
然后调用该类的Run()方法 这里我们把这个类叫做控制器
既然引入了Init.php文件, 那么我们继续看看Init.php文件的源码
复制代码
|
分析一下代码, 如果你懂了, 可以略过这一步, 继续往下看哦.
首先 设置字符集, 然后判断如果没有定义常量"ROOT_PATH"那么就定义它
然后就是引入一些文件, 首先是配置文件, 控制器类文件, 视图类文件, 模型类文件
同理既然引入了文件,那么我们就打开文件看看代码, 先来看Config.php文件
复制代码
|
没什么特别的就是一个数组, 有三个值, 暂时先这样, 以后有需要在来增加
那么好, 我们继续看Controll.class.php
复制代码
|
注释写的很清楚, 这里我就不多说了, 做到这, 你就可以建立一个Controller目录, 然后在目录中建立welcome.class.php文件
写入如下内容
复制代码
|
允许程序你将会看到Hello
然后在写一个方法
复制代码
|
再次运行程序, 将url地址改为
http://你的域名/index.php/welcome/show/
你会看到 '方法名称Show'
好了, 看到这里我们的控制器其实已经弄得差不多了
今天先弄到这里
明天我们继续View.class.php 视图类文件, 和在welcome.class.php控制器中调用视图
程序源码, 回复后下载吧!

作者: xiaokai 发布时间: 2009-08-18
复制代码
|
是不是很熟悉这两个方法, 呵呵, 用来给模板设置变量和显示模板的. 和smarty一样, $vars属性是用来保持模板变量的数组, 我来写完它.
先看看assign方法
复制代码
|
很简单, 首先有两个参数 $var模板变量名称, $value对应的值
先判断$var是否是数组, 如果是那么将他于属性$vars合并
将$var当作下标$value当作值, 添加到属性$vars中
在来看display方法
复制代码
|
这个看上去有点多, 不着急我们慢慢解释
首先有一个参数 $file 模板文件名称, 不包括路径以及后缀
然后引入模板类, 设置模板的参数
先设置模板文件目录, 然后是否开启缓存, 然后缓存目录, 缓存有效时间, 模板文件后缀, 左右定界符
然后组合出模板文件路径 比如你传入的$file值是index 那么就是对应的模板文件就是 模板目录/index.html
然后判断模板文件是否存在, 不存在则提示错误
然后在调用模板类实例的display方法将模板文件名称, 和模板变量传入
这里这个模板类我就不多说了, 如果有兴趣的朋友可以下载附件查看, 类中有详细注视
这里既然设置了两个目录, 那么我们就去创建它, 在程序根目录下建立 Views 和 Cache 两个目录, 后面会用到
现在我们打开昨天写好的 Controller.class.php 控制器类 在里面加入一个属性 和 几个方法
复制代码
|
现在进入到Views目录中建立一个模板命名为index.html 内容如下
复制代码
|
控制器类中也有assign方法, 他是调用构造函数中创建的view类实例的assign方法
也就是我们上面定义的那个 dispaly方法也一样
现在我们打开welcome.class.php文件, 修改index方法, 注意这里好要将Welcome类继承自Controller类
复制代码
|
现在你需要做的就是打开浏览器, 在地址栏中输入 http://yourdomain/Index.php 然后你将会看到 "小恺教你写一个属于自己的MVC框架"
如果出现了这行字, 那么恭喜你View层也搞定了, 明天我们继续 小恺教你写一个属于自己的MVC框架之模型
如果你没看懂这篇文章也可以联系 QQ 601200376 Email [url=mailto:[email protected]][email protected][/url]
最后希望大家多多支持... 哈哈
广告一下 Tomorrow Framework 0.1
测试版 以经快完工了, 想看看的朋友可以联系我, "源文件有详细注视哦!!!"




程序源码, 回复后下载吧...

作者: xiaokai 发布时间: 2009-08-18
接着上集,今天我们来说模型的实现.
在Core目录中建立 Model.class.php 文件, 然后建立一个Model类
复制代码
|
现在来给他添加方法
复制代码
|
这几个方法很简单, 就是一般的mysql操作. 不过多解释
现在打开Config.php把内容改为
复制代码
|
然后在打开Controller.class.php 控制器基类 在里面加一个方法, 用来加载模型
复制代码
|
注释很详细也不做解释了. 现在在根目录下家里Models目录, 然后建立一个 test.class.php文件
内容很简单, 继承自Model类就行了
复制代码
|
然后在自定义的控制器welcome.class.php中修改index方法
复制代码
|
这样模型也搞定了, 这里只是是抛砖引玉, 不对的地方希望大家指出.
知道大概后你可以自己扩展, 比如做出多语言, 数据库抽象层, 等等等...

作者: xiaokai 发布时间: 2009-08-18
├─Core
├─Controllers
├─Views
├─Cache
└─Models
带文件的目录结构
│ Description.php
│ Index.php
│ Init.php
│ Desription2.php
│ Desription3.php
│
├─Core
│ Config.php
│ Controller.class.php
│ View.class.php
│ Template.class.php
│ Model.class.php
│
├─Controllers
│ welcome.class.php
│
├─Views
│ index.html
│
├─Cache
│ 6a992d5529f459a44fee58c733255e86.php
│
└─Models
test.class.php
作者: xiaokai 发布时间: 2009-08-18
作者: xiaokai 发布时间: 2009-08-18
作者: moro 发布时间: 2009-08-18


作者: tslongpk1 发布时间: 2009-08-19
作者: xiukan 发布时间: 2009-08-19

作者: xlmxbg 发布时间: 2009-08-19
呵呵小凯不错
呵呵, 你打错我名字了, 我叫小恺.
作者: xiaokai 发布时间: 2009-08-19
呵呵小凯不错!不顶不行了!此贴必火!


呵呵, 你也打错了哦. 让大火来的更猛烈些吧. 哈哈
作者: xiaokai 发布时间: 2009-08-19
作者: gaoxu387 发布时间: 2009-08-19
挺好的帖子!LZ辛苦了
为人民服务, 哈哈


作者: xiaokai 发布时间: 2009-08-19

作者: qicto 发布时间: 2009-08-19
支持!!
作者: garygay 发布时间: 2009-08-19
作者: 263290692 发布时间: 2009-08-20
呵呵, 你打错我名字了, 我叫小恺.
记下了
作者: xiukan 发布时间: 2009-08-21
作者: skyandlw 发布时间: 2009-08-21
作者: skyandlw 发布时间: 2009-08-21
像张老师那样就算不顶贴,论坛人气在不好,他的教程也是照样的做下去;
把帖子设置成隐藏这样就好多了.相信肯定能顶上去的.
别忘了有我在支持着你呢.
把你的技术跟我们分享一下吧.
我也想写个属于自己的mvc!
hoho.我喜欢偷窃别人的技术.嘎嘎嘎嘎!
作者: 叶子 发布时间: 2009-08-22
别因为某些人不喜欢顶贴就停止更新呀,
像张老师那样就算不顶贴,论坛人气在不好,他的教程也是照样的做下去;
把帖子设置成隐藏这样就好多了.相信肯定能顶上去的.
别忘了有我在支持着你呢.
把你的技术跟我们分享一下吧.
.......
呵呵, 好的, 谢谢叶子.


明天继续更新, 我重新弄, 这个仿佛不怎么样...
作者: xiaokai 发布时间: 2009-08-23
作者: chenfu12 发布时间: 2009-08-23
给你个健康表吧
一、晚上9-11点为免疫系统(淋巴)排毒时间,
此段时间应安静或听音乐 。
二、晚间11-凌晨1点,肝的排毒,需在熟睡中进行。
三、凌晨1-3点,胆的排毒,亦同。
四、凌晨3-5点,肺的排毒。此即为何咳嗽的人在这段时间咳得最剧烈,因排毒动作已走到
肺;不应用止咳药,以免抑制废积物的排除。
五、凌晨5-7点,大肠的排毒,应上厕所排便。
六、凌晨7-9点,小肠大量吸收营养的时段,应吃早餐。疗病者最好早吃,在6点半前,养生
者在7点半前,不吃早餐者应改变习惯,即使拖到9、10点吃都比不吃好。
* 七、半夜至凌晨4点为脊椎造血时段,必须熟睡,不宜熬夜。 *
珍爱生命,合理作息!,以后不要熬夜了!
作者: 叶子 发布时间: 2009-08-23
作者: cain 发布时间: 2009-08-23
作者: daodao 发布时间: 2009-08-23
作者: uncleliu 发布时间: 2009-08-23
作者: wall123 发布时间: 2009-08-24
作者: 檀木屑 发布时间: 2009-08-24
作者: kook 发布时间: 2009-08-24
作者: kook 发布时间: 2009-08-25
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28