Zend Framework Frontcontroller /调度程序背后有什么想法

时间:2010-04-02 15:34:26

标签: php zend-framework architecture

Zend Framework FrontController实现了Singleton,而且它有一种插件“范例”, - 它的架构背后的想法是什么,也许它实现了一些众所周知的范例?如果是这样,那么如果你可以提供一些链接指示,我可以找到有关提出这种特定范式的原因的信息?

1 个答案:

答案 0 :(得分:8)

FrontController的基本思想是为您的应用程序提供单一的入口点。

引用PoEAA

  

Front Controller通过单个处理程序对象引导请求来整合所有请求处理。此对象可以执行常见行为,可以在运行时使用装饰器进行修改。然后,处理程序将调度命令对象以获取特定于请求的行为。

进一步的定义:

另见chapter in the reference guide about the Front Controller

  

Zend_Controller_Front实现»模型 - 视图 - 控制器(MVC)应用程序中使用的»前端控制器模式。其目的是初始化请求环境,路由传入请求,然后分派任何发现的操作;它聚合任何响应并在过程完成时返回它们。

关于成为单身人士

  

Zend_Controller_Front还实现了»Singleton模式,这意味着在任何给定时间只能使用它的单个实例。这使它也可以作为调度过程中其他对象可以绘制的注册表。

有关Singleton和Registry模式的一般定义,请参阅:

关于可插拔

  

Zend_Controller_Front向自己注册一个插件代理,允许插件观察它触发的各种事件。在大多数情况下,这使开发人员有机会定制调度过程到站点,而无需扩展前端控制器来添加功能。

如何详细解释Zend Framework如何使用Front Controller以及在MVC rquest期间发生的事情可以在以下网址找到: