跟随我在oracle学习php(52)

1、Match

基本实现

功能,比赛列表球队信息

数据表初始化:

比赛列表:

球队 比分 球队二 比赛时间

韩国 12 澳大利亚 15-01-31 17:00

从SQL思考,如何完成上面的查询:

获得所有的比赛信息:

select * from `match` ;

获得球队一名字:

获得球队二的名字:一个表在一次查询中可以出现多次,需要使用不同别名进行标识!

由于相同,需要列别名:

PHP代码完成比赛列表

处理数据

展示

注意

PHP逻辑最好与HTML展示分离出来

在HTML嵌套PHP代码,仅仅将需要PHP处理内容,在PHP标签中输出,其他的都在PHP标签外输出。便于后期更新

模板中使用流程控制结构,建议使用 模板语法 替代 大括号语法,包括代码段!

2match_split

显示逻辑相分离

功能强制分成两个部分,显示html文件,和逻辑PHP文件

要求浏览器请求负责功能的PHP逻辑文件:

该PHP逻辑文件,对需要的显示内容进行载入。

s

逻辑PHP

显示HTML

浏览器请求:

好处

为了更好的管理大量的代码更新,重用 变得容易。

模板文件 – template

HTML,负责显示部分功能文件,称之为模板文件。

指的是:结构由HTML相关代码确定,数据部分由动态脚本(PHP)来填充,这样一种混编文件称之为模板。

混编模板PHP代码,仅仅负责输出数据而一定不要负责处理数据

注意:浏览器应该,(不能)去请求负责展示的模板文件:

可见,需要将不能被浏览器所访问模板)的文件隐藏起来方案如下:

A计划

通过web服务器请求的控制,不允许浏览器直接访问

通常将不要被访问的统一管理到某个位置

PHP代码载入正确的模板地址:

控制目录权限:通过apache的分布式配置文件完成

Tip:以上的配置,依赖于apache的主配置文件,允许目录内使用分布式配置文件.htaccess

B计划

直接将不要被浏览器访问的文件资源,放在文档根目录之外!

因为浏览器可以请求的最上级目录,就是文档根目录了!

3match_mvc

MVC

以ecshop的前台为例:

功能一:

首页

购物车数据,商品分类数据,其他的首页需要的数据

功能二

拍卖活动

购物车数据,商品分类数据,拍卖相关数据

功能三:

团购商品

购物车数据,商品分类数据团购相关数据

可见,应该数据处理分离出来,在需要的功能中调用即可!

M:模型  用来操作表的

V : 模版  用来显示页面

C:控制器 调度 操作那个表产生数据 调用哪个模版显示数据

此时采用三层分离(MVC)的方式实现比赛列表:

C功能调度:

M,数据处理

V,结果展示

注意:浏览器需要请求C来获得需要的内容!

以上的划分方式,称之为MVC,项目架构思想!

其中

MModel,模型,项目中数据处理业务逻辑处理)单元。

Vview,视图,项目中结果展示的单元模板文件)。

CController,控制器,项目中负责某个功能整体流程调度单元。

强调MVC项目架构思想(项目中代码的组织关系),不决定语法形式(OOP,面向过程)仅仅决定项目代码分工方式!

特点如下

浏览器仅仅C控制器交互。

模型M和视图V都被控制器C所调用。

模型M和视图V之间,不存在任何的交互。

辨析

MVC pk MVC框架?

MVC:架构思想

MVC框架基于MVC思想架构的一个框架(基础代码的集合)

猜你喜欢

转载自www.cnblogs.com/RighTgraM/p/10925102.html