ThinkPHP_MVC

来源:互联网 发布:php二维数组查找键值 编辑:程序博客网 时间:2024/05/01 05:00

最近学习了TP框架,把心得分享一下吧。

TP是基于MVC架构的,Model View Controller 。

其中示例图展示如下:


模型:处理数据和业务逻辑

视图:通过布局向用户展示数据

控制器:接受用户请求,并调用相应的模型处理

原理:浏览器向控制器发送HTTP请求调用网页数据,控制器给模型发送请求参数,模型选择相应的数据表返回原始数据rows,控制器得到了原始数据后向视图层传递原始数据,视图层通过对原始数据的加工使得原始数据变成“树型”DOM,然后在返回给控制器进而通过HTTP返回浏览器,浏览器得到这些DOM(DOCUMENT OBJECT MODEL),然后翻译成图形数据显示在用户浏览器上。


框架:框架是程序结构代码的集合,而不是业务逻辑代码。集合中包含了许多类、函数和功能类包。这个集合是按照一定标准组成的功能体系。体系中有许多设计模式,比如MVC等。


单一入口框架:在一个网站中,所有的请求都是指向一个脚本文件的。

好处:项目结构规范,控制灵活,更加安全

典型代表:zend,CodeIgniter(CI),cakephp,ThinkPHP等


TP文件夹作用:

//common 存放当前项目的公共函数

//Conf 存放当前项目的配置文件

//Lang 存放当前项目的语言包

// Lib 存放当前项目的控制器和模型

->

//Action 存放MVC控制器的Controll控制器

//Behavior 存放行为管理的目录

//Model 存放项目模型文件

//Widget 存放项目的组件(小物件)

//RunTime 存放当前项目的运行时的文件

->

//cache 存放模板的缓存

//Data存放数据的目录

//Log存放日志

//Temp存放数据的缓存

//~runtime.php存放编译后加载的文件

//Tpl 存放当前项目的模板文件

//   MVC中的 Model Controll层  存放 LIB文件夹下

//   MVC中的 View 层,存放Tpl层


视图显示流程:

1.加载thinkphp.php

require('./ThinkPHP/ThinkPHP.php');  (包含很多头文件)

2.加载核心文件 ./thinkPHP/LIB/Core   (控制器的核心文件,模型的核心文件)

     3.加载项目的文件 分析URL 调用相关控制器

m   moudle   模块    控制器

a   action   方法   action = 页面

0 0
原创粉丝点击