码迷,mamicode.com
首页 > 其他好文 > 详细

足球比赛-4

时间:2018-10-26 00:08:17      阅读:205      评论:0      收藏:0      [点我收藏+]

标签:注意   业务   模板   数据   显示   原理   环境   隐藏   比赛   

根据页面显示与逻辑分离的思想,浏览器请求的是逻辑文件,而页面显示文件仅供逻辑文件载入使用。

这种显示文件,里面包含HTML与PHP等混编的文件,有一个特点,就是PHP代码仅是用来输出数据,而不是用来处理数据,我们视这种文件为模板文件。

技术分享图片

模板文件会泄露PHP业务逻辑,必须防止被浏览器直接访问。

这里有两种方法来处理模板文件。

第一种方法,把模板文件放入到一个不被浏览器访问的单独目录里,而该目录通过浏览器无法访问。

原理:通过.htaccess设置目录权限,从而隐藏了目录。

即使通过浏览器直接访问模板文件,也无法权限访问,提示403 Forbidden。

技术分享图片

注意:要保证.htaceess能够被执行,需要依赖于apache配置文件允许使用分布式配置文件.htaccess

  技术分享图片

另外一种方法需要用户有更高的权限,一般服务器是独立主机,把模板文件放到根目录之外的某个位置。

这样用户是无法访问到的,因为通过浏览器访问的,始终都是在根目录里面访问。

原理:逻辑文件里载入模板文件,是通过require来将模板文件载入到php逻辑运行环境里,与逻辑文件一同被载入到内存。

而用户访问模板文件,通过URL来访问模板文件。

至此,已经完成了显示和逻辑的两层分离。

 

但是,如果功能越来越多,代码和页面也越来越多,会发现某个页面的逻辑与另一个或多个页面逻辑相似,造成冗余,因此,需要将逻辑文件再一次分离,这种思想就是MVC思想。

1、数据处理层(Model层)

  技术分享图片

2、功能调度层(Controller 控制器)

  技术分享图片

3、页面结果显示(View 视图层,即模板文件)

  技术分享图片

 

 注意事项:

  ①  浏览器请求的是功能调度页面,即请求的是控制层页面,然后由控制器来调用数据处理层Model和页面结果显示层View;

  ②  模型层Model和View视图层之间,不存在任何交互;

  ③  模型层Model和View视图层,只能被控制器Controller所调用。

 

足球比赛-4

标签:注意   业务   模板   数据   显示   原理   环境   隐藏   比赛   

原文地址:https://www.cnblogs.com/mnhome/p/9853371.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!