跟随我在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思想架构的一个框架(基础代码的集合)

 

转载于:https://www.cnblogs.com/RighTgraM/p/10925102.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值