预览加载中,请您耐心等待几秒...
1/9
2/9
3/9
4/9
5/9
6/9
7/9
8/9
9/9

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

PHP(MCV)框架笔记一 MVC概念与作用 1.MVC是一种非常重要的设计模式,是三个字词的缩写,分别为:模型(Model)、视图(View)和控制器(Controller) 2.MVC模式的目的就是实现web系统的职能分工,它强制性使应用程序的输入、处理和输出分开,可以各自处理自己的任务,是一种分层的概念. 二.MVC模式的工作原理 1.视图(view) 2.模型(model) 3.控制器(controller) 4.MVC的设计思路是把一个应用的输入、处理、输出流程按照model、view和controller的方式进行分离,这样一个应用被分成三个层(模型层,视图层,控制层). 三.MVC模式的优点 1.MVC是构筑软件非常好的基本模式,至少将业务处理与显示分离,强迫将应用分为模型、视图及控制层,使得你会认真考虑应用的额外复杂性,把这些想法融入架构中,增加了应用的可拓展性,如果能把握这一点,mvc模式会使你的应用更加强壮,更加有弹性,更加个性化 四.MVC的缺点 1.对开发人员的要求比较高 2.MVC是一种基本的设计模式 3.视图和模式的严格分离可能使得调试难度较高,但是比较容易发现错误 五.什么是框架 1.框架就是一个系统的半成品,是在给定的问题领域内,实现了一个应用程序的一部分设计,是整个或部分系统的可重用设计,表现为一组抽象构件以及构件实例间交互的方法,并且提供了丰富的组件库,只增加了一些内容或调用一些提供好的组件就可以完成自己的系统 六.MVC采用的是单一的入口文件 1.如:http://localhost/lamp120/mvc/index.php?m=stu&a=add//开打学生信息的添加页面 1.1其中的M值stu表示访问的是stuCinterollera的add表示是方法(动作)就是访问stuAction的add方法 2.mvc通过请求访问了控制层C,C调度M模型获取我们所需要的信息数据,然后再去加载V视图将结果整合后响应给我们 3.mvc是一种设计模式,不是框架,使用mvc设计的模式搭建的项目架构才叫框架. 七.创建目录 1.ORG第三方扩展类 2.ModelM(模型)层目录(M) 3.controllerC(控制)层目录(C) 4.viewV(视图)层目录(Smarty的模板目录)5.public 公共资源目录 6.libs Smarty库(解压到这里即可) 7.view_c Smarty模板编译目录(可选) 8.cache Smarty静态缓存目录(可选) 9.configs配置文件目录 七.将自己写好的数据库操作类放到model目录下 model/model.class.php 八.在ORG目录下创建一个tpl.class.php的smarty子类,用于初始化smarty(等同于以前的init.php) 代码如下: 1.//Smarty信息的初始化类 classTplextendsSmarty{ publicfunction__construct(){ parent::__construct();//构造父类 //初始化Smarty对象中属性: $this->template_dir="view";//smarty模板目录 $this->compile_dir="view_c";//smarty模板编译目录 $this->config_dir="configs"; //smarty配置文件目录 $this->cache_dir="cache"; //smarty模板静态缓存目录 //$this->caching=true; //是否开启静态缓存 //$this->cache_lifetime=3600; //静态缓存时间(秒) //指定定界符 $this->left_delimiter="<{"; //左定界符 $this->right_delimiter="}>"; //右定界符 } } 在controller目录下创建Controller类,继承Tpl类,文件名叫: controller.class.php 代码如下: //Controller的控制基类 classControllerextendsTpl{ publicfunction__construct(){ parent::__construct(); } /** *Controller初始化方法(在这个方法里根据参数a的值决定调用对应的方法) * */ publicfunctioninit(){ //获取a参数的值 $a=isset($_GET["a"])?$_GET["a"]:"index";//默认值为index //判断当前Controller是否存在此方法 if(method_exists($this