1、Match
基本实现
功能,比赛列表,球队信息
数据表初始化:
比赛列表:
球队一 比分 球队二 比赛时间
韩国 1:2 澳大利亚 15-01-31 17:00
从SQL思考,如何完成上面的查询:
获得所有的比赛信息:
select * from `match` ;
获得球队一名字:
获得球队二的名字:一个表在一次查询中可以出现多次,需要使用不同的别名进行标识!
由于列名相同,需要起列别名:
PHP代码完成比赛列表
处理数据
展示:
注意:
PHP逻辑最好与HTML展示分离出来
在HTML中嵌套PHP代码时,仅仅将需要PHP处理的内容,在PHP标签中输出,其他的都在PHP标签外输出。便于后期更新
模板中使用流程控制结构,建议使用 模板语法 来替代 大括号语法,包括代码段!
2、match_split
显示逻辑相分离
将功能强制分成两个部分,显示html文件,和逻辑PHP文件:
要求浏览器请求负责功能的PHP逻辑文件:
该PHP逻辑文件,对需要的显示内容进行载入。
s
逻辑PHP:
显示HTML:
浏览器请求:
好处:
为了更好的管理大量的代码:更新,重用 变得容易。
模板文件 – template
HTML,负责显示部分功能文件,称之为模板文件。
指的是:结构由HTML相关代码确定,数据部分由动态脚本(PHP)来填充,这样一种混编文件称之为模板。
“混编”:模板中PHP代码,仅仅负责输出数据,而一定不要负责处理数据。
注意:浏览器应该,(不能)去请求负责展示的模板文件:
可见,需要将不能被浏览器所访问(模板)的文件隐藏起来,方案如下:
A计划:
通过web服务器对请求的控制,不允许浏览器直接访问
通常将不要被访问的统一管理到某个位置:
PHP代码载入正确的模板地址:
控制目录权限:通过apache的分布式配置文件完成
Tip:以上的配置,依赖于apache的主配置文件,允许目录内使用分布式配置文件.htaccess
B计划:
直接将不要被浏览器访问的文件资源,放在文档根目录之外!
因为浏览器可以请求的最上级目录,就是文档根目录了!
3、match_mvc
MVC
以ecshop的前台为例:
功能一:
首页
购物车数据,商品分类数据,其他的首页需要的数据
功能二:
拍卖活动
购物车数据,商品分类数据,拍卖相关数据
功能三:
团购商品
购物车数据,商品分类数据,团购相关数据
可见,应该数据的处理分离出来,在需要的功能中调用即可!
M:模型 用来操作表的
V : 模版 用来显示页面
C:控制器 调度 操作那个表产生数据 调用哪个模版显示数据
此时,采用三层分离(MVC)的方式来实现比赛列表:
C:功能调度:
M,数据处理
V,结果展示
注意:浏览器需要请求C来获得需要的内容!
以上的划分方式,称之为MVC,项目架构思想!
其中:
M:Model,模型,项目中数据处理(业务逻辑处理)单元。
V:view,视图,项目中结果展示的单元(模板文件)。
C:Controller,控制器,项目中负责某个功能整体流程调度单元。
强调:MVC项目架构思想(项目中代码间的组织关系),不决定语法形式(OOP,面向过程),仅仅决定项目代码分工方式!
特点如下:
浏览器仅仅C控制器交互。
模型M和视图V都被控制器C所调用。
模型M和视图V之间,不存在任何的交互。
辨析:
MVC pk MVC框架?
MVC:架构思想
MVC框架:基于MVC思想架构的一个框架(基础代码的集合)