php运用MVC模式【荐】.doc
文本预览下载声明
如何在PHP中使用“MVC”设计模式去开发WEB应用如何在PHP中使用“MVC”设计模式去开发WEB应用呢?记住一点(代码和页面设计分开),用一个简单的例子演示一下,比如要从数据库中查询出会员的资料以显示在网页上,这里就需要考虑到两点:1.连接数据库并取出会员资料,2.把会员资料显示在网页上,连接数据库我们使用一个数据库的类,把它叫做“DB”类吧,这个类此时就扮演了“模型(Model)”的角色,接着我们需要编写一个操作“DB”类的程序以取出数据,这个程序所扮演的角色就是“控制器(Controller)”,它接受客户端“POST”或“PUT”的数据,然后再调用“DB”类以取出数据,把这些数据都存放在“控制器(Controller)”中,最后把数据传递给“视图(View)”并按照一定的排版格式显示出来,从上面的分析可以看出,模板在这里就是扮演了“视图(View)”的角色,当然仅仅一个模板类是不能说成是MVC的,真正的MVC不是这么简单的,具体可以参考一下“JSF”。 “3t”是一个模板类,主要是读取“控制器(Controller)”的数据并进行一些特殊处理,最后通过一些简单的模板语法把数据显示出来,它具有一些什么样的特点呢?解析速度快,可以根据需要选择使用html方式缓存或php方式缓存,当然你也可以不用缓存,同样可以实现快速稳定的WEB应用使用简单、安装操作方便,在数据的读取方面类似著名模板类“SMARTY”,在数据显示方面即类似“PHP的语法”又类似“JavaBeans”可扩展性好,你可以根据需要随时加入你想要的功能,因为它是开源的,在不久的日子里,将支持插件功能伸缩性好,支持最新的PHP5,只要你的PHP版本=4.0.6即可使用,当然你需要有在服务器操作文件的权限功能强大,支持模板的多级嵌套,数组多级循环等等当然此模板还需完善的地方很多,有待在各种环境测试使用才能不断完善,目前仅在LINUX和WINDOWS环境下测试通过.二.安装1.解压后应该可以看到如下目录结构:./3tx.x/cmp/ 编译后的文件(请确保此文件夹可读写)./3tx.x/tpl/ 模板文件(模板文件都放在这里,确保此文件夹可读)./3tx.x/che/ 缓存文件存放的文件夹(请确保此文件夹可读写)./3tx.x/ttt/ttt.php 3T模板类文件./3tx.x/ 程序文件(您写的程序都放在这里)2.您的PHP版本不能低于PHP4.0.6,我建议你的PHP版本升级至4.3.0以上,程序的整体性能将得到会大幅度提高3.运行时如出现变量未定义请在程序前加上error_reporting(7);函数三.语法模板简单语法说明:一般使用左边大括号{和右边大括号}作为模板语法的开始和结束,当然也可以使用自定义的分隔符,如使用[和],以下说明以大括号为分隔符进行说明(注;下面的[tplCode]和[/tplCode]中间的代码才是模板语法代码)1.在模板文件中使用PHP代码,如:[tplCode]{php}$i = 3;echo $i;{/php}[/tplCode]请参考example62.在模板中使用foreach循环,如:第一种用法(循环数组$a,相当于PHP中的foreach($a as $k=$v)....)[/tplCode]{foreach:$a,$k,$v}$v = {$v}br{/foreach}[/tplCode]第二种用法(可以设定循环几次,假如数组$a有15个元素,则下面的循环则只取最前面5个)[tplCode]{foreach:$a,$k,$v,5}$v = {$v}br{/foreach}[/tplCode]第三种用法(可以设定循环几次,假如数组$a有15个元素,则下面的循环则从第3个元素开始,取到第5个元素结束)[tplCode]{foreach:$a,$k,$v,3,5}$v = {$v}br{/foreach}[/tplCode]请参考example1和example3,在foreach循环中可以使用多维数组,具体请看example103.在模板中使用IF语句,如:第一种用法[tplCode]{if:$a == hello}变量$a的值是hello{/if}[/tplCode]第二种用法[tplCode]{if:$a == true}变量$a为真{else}变量$a不为真{/if}[/tplCode]第三种用法[tplCode]{if:$a == 2}变量$a的值为2{elseif:$a == 3}变量$a的值为3{/if}[/tplCode
显示全部