【发布时间】:2010-04-02 15:34:25
【问题描述】:
Zend 框架 FrontController 实现了 Singleton,而且它有某种插件“范式”, - 它的架构背后的想法是什么,也许它实现了一些众所周知的范式?如果是这样,那么如果您可以提供一些链接方向,我可以在其中找到有关导致该特定范式的原因的信息?
【问题讨论】:
标签: php zend-framework architecture
Zend 框架 FrontController 实现了 Singleton,而且它有某种插件“范式”, - 它的架构背后的想法是什么,也许它实现了一些众所周知的范式?如果是这样,那么如果您可以提供一些链接方向,我可以在其中找到有关导致该特定范式的原因的信息?
【问题讨论】:
标签: php zend-framework architecture
FrontController 的基本思想是为您的应用程序提供单一入口点。
引用PoEAA:
前端控制器通过单个处理程序对象引导请求来整合所有请求处理。这个对象可以执行常见的行为,可以在运行时使用装饰器进行修改。处理程序然后分派给命令对象以执行特定于请求的行为。
进一步定义:
另见chapter in the reference guide about the Front Controller:
Zend_Controller_Front 实现了在 » Model-View-Controller (MVC) 应用程序中使用的 » Front Controller 模式。其目的是初始化请求环境,路由传入的请求,然后调度任何发现的动作;它聚合所有响应并在过程完成时返回它们。
关于单身
Zend_Controller_Front 也实现了 » Singleton 模式,这意味着在任何给定时间只有一个实例可用。这使得它也可以充当一个注册表,调度过程中的其他对象可以在该注册表上进行绘制。
有关单例和注册表模式的一般定义,请参阅:
关于可插拔
Zend_Controller_Front 向自己注册一个插件代理,允许插件观察它触发的各种事件。在大多数情况下,这使开发人员有机会为站点定制调度过程,而无需扩展前端控制器以添加功能。
关于 Zend Framework 如何使用 Front Controller 以及在 MVC 请求期间发生的事情的详细说明可以在以下位置找到:
【讨论】: