1-前端控制器-1.4.3-应用 (前端控制是什么意思)

教程大全 2025-07-11 20:40:04 浏览

1.4.3 应用(前端控制器)(1)

2017-11-23 17:27:35《Yii框架深度剖析》第1章初识php框架技术,本章首先介绍PHP语言发展历史及其适合的应用领域,然后讲解PHP框架技术的概念并仿照Yii框架源码自定义一个框架,其中包括MVC框架模式、单入口模式和应用(前端控制器模式)的实现。读者在充分了解了这部分内容后,将正式进入到Yii框架的学习。本节为大家介绍应用(前端控制器)。

1.4.3 应用(前端控制器)(1)

1.4.2节中对原有的MVC模式进行了改进,在入口文件中实现了URL的解析。用户的每一次请求都指向 服务 的***可访问文件。经过解析URL,最终转向所要访问的控制器。但是当系统日趋复杂和多样时,如URL参数和POST数据需要进行必要的检查和特殊字符过滤、记录日志、访问统计等,如果各种可以集中处理的任务都放在入口文件执行,那么将会出现代码重复、业务逻辑混乱且分散的情况。因此,为了降低系统代码逻辑的复杂度,进一步集中控制系统,并提高系统的安全控制能力,以及可维护性、可重用性和可伸缩性,本节中对原有的MVC模式进行了改进,提出了应用(前端控制器)的概念,实现MVC在复杂系统中的前端控制器开发模式优化策略。

1.在应用中实现URL解析

采用前端控制器模式,提供一个处理不同请求的中心,处理工作包括安全事务、视图选择、异常处理和响应内容的生成,通过将这些处理工作集中在一点进行,大大降低了PHP代码量,同时也减少了视图层的程序逻辑,保证了在不同请求之间可以大量地重用逻辑代码。

应用(前端控制器)的URL解析功能在文件framework/Cweb- Application.php文件中实现,流程图如图1-9所示。解析URL代码如下。

2.单例模式创建应用(前端控制器设计模式)

对于系统中的某些类来说,只有一个实例很重要。例如,一个系统中可以存在多个打印任务,但是只能有一个正在工作的任务;一个系统只能有一个窗口管理器或文件系统;一个系统只能有一个计时工具或ID(序号)生成器。例如,在Windows中就只能打开一个任务管理器。如果不使用机制对窗口对象进行***化,将弹出多个窗口,如果这些窗口显示的内容完全一致,则是重复对象,浪费内存资源;如果这些窗口显示的内容不一致,则意味着在某一瞬间系统有多个状态,与实际不符,也会给用户带来误解,不知道哪一个才是真实的状态。因此,确保系统中某个对象的***性(即一个类只能有一个实例)是非常重要的。

我们希望系统中的应用(前端控制器)只有一个实例对象而且该实例对象易于外界访问,从而方便应用实例对象个数的控制并节约系统资源,单例模式是最好的解决方案之一。

单例模式是一种常用的软件设计模式。其要点有3个:一是类只能有一个实例,二是它必须自行创建这个实例,三是它必须自行向整个系统提供这个实例。

从具体实现角度来说,就是以下3点:一是单例模式的类只提供私有的构造方法,二是类定义中含有一个该类的静态私有对象,三是该类提供静态的公有方法用于创建或获取它本身的静态私有对象。在framework/CWebApplication.php文件中添加下面所示的部分代码。

3.应用的配置文件

默认情况下,应用是一个CWebApplication的实例。要自定义它,通常需要提供一个配置文件以在创建应用实例时初始化其属性值。这就好比去组装计算机,客户拿来具体的配置单,按照要求就可以组装符合要求的计算机。而CWebApplication就是组装工人,配置单就是下面要说明的配置文件。

配置信息在配置文件中以数组元素的方式存放,一个元素就是两个字符串组成的键值对,一个字符串是键(key),另一个字符串是这个键的对应的值(value)。大多数的系统都有一些配置常量,将这些常量放在配置文件中,系统通过访问这个配置文件取得配置常量,就可以通过修改配置文件而无须修改程序达到更改系统配置的目的。系统也可以在配置文件中存储一些工作环境信息,这样在系统每次访问时,这些信息可以运行在每一个应用的生命周期中。

通常在一个单独的PHP 脚本(protected/config/main.php)中保存这些配置。在脚本中,通过以下方式返回此配置数组。

在应用的构造方法中添加对配置文件操作的代码:

喜欢的朋友可以添加我们的微信账号:

1.4.3

51CTO读书频道二维码

51CTO读书频道活动讨论群:365934973


建一个好的个人网站需要掌握哪些知识?

1、需求分析;2、架构设计;3、美工设计;4、代码编程;

我的手机是vivo y67可以遥控空调吗,怎么做

可以用手机下载设备(如空调、电视等)对应的APP软件,然后将手机和设备连接在同一个局域网上,即可实现遥控功能(不支持红外遥控)。 温馨提示:看设备是否支持该功能,请详见设备说明书。

access control门禁系统不知管理员密码,求教:怎么进入?

进入accesscontrol门禁系统不知管理员密码的步骤如下:1,第一步是进入编程模式:按[*] + [6位编程密码],请注意,发出警报声两次,然后红灯闪烁和绿灯亮。 然后,用户在启用访问设备后修改编程密码。 2,则有必要修改编程密码:按[0] + [6位新的编程密码] + [重复6位新的编程密码],这段时间要注意听到蜂鸣声两次,然后这意味着设置成功。 。 3,然后就是设置开门方式:注意刷卡或通用密码:按[1] + [0],哔两声;然后是进行卡加个人密码的操作:按[1] + [1],发出两声哔声。 4,最后一步就是强行恢复出厂编程密码:卸下控制器,然后只是短暂的J2(复位)脚,然后松开,此时要注意控制器发出哔哔声,接着响起两声提示音控制器可以恢复到工厂编程密码。

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐