- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
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=stua=add //开打学生信息的添加页面
1.1其中的M值stu表示访问的是stuCinteroller a的add表示是方法(动作) 就是访问stuAction的add方法
2.mvc通过请求访问了控制层C,C调度M模型获取我们所需要的信息数据,然后再去加载V视图将结果整合后响应给我们
3.mvc是一种设计模式,不是框架,使用mvc设计的模式搭建的项目架构才叫框架.
七.创建目录
1.ORG 第三方扩展类
2.Model M(模型)层目录(M)
3.controller C(控制)层目录(C)
4.view V(视图) 层目录(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信息的初始化类
class Tpl extends Smarty{
public function __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的控制基类
class Controller extends Tpl{
public function __construct(){
parent::__construct();
}
/**
*Controller初始化方法(在这个方法里根据参数a的值决定调用对应的方法)
*
*/
public function init(){
//获取a参数的值
$a = isset($_GET[a])?$_GET[a]:index; //默认值为index
//判断当前Controller是否存在此方法
if(m
文档评论(0)