use*_*574 1 php zend-framework2
在Zend框架2(或者通常是任何框架)中,当我们使用module_name/action_name请求某个url时,
即/album/list
index.php如何以及为什么在每个请求上执行?
这被称为前端控制器模式.
它是您的应用程序的单一入口点.前端控制器(index.php)接收请求数据并将其传递给简单说出的适当服务.
在Web应用程序中,您基本上不希望为每个脚本添加开销.相反,您有一个委托任务的集中点.
例如,复杂的Web应用程序通常具有路由层,数据库层,可能是缓存,会话和输入处理很重要.
当您必须在每个独立脚本(login.php,user.php,contact.php)中提供这些组件时,您必须首先提供所有服务.如果您随后需要交换组件,那么编辑所有文件以应用更改将会很痛苦.
这就是前置控制器派上用场的地方.它接受了请求并说:"嘿!我想引导我的应用程序.所以加载我的bootstrapping类并传入请求的必要数据".
引导课说:"五月天.我收到了来自前端控制器的命令.这里需要一些路由".
然后加载我的路由服务提供程序.
"哦,请给我一些会议".现在我希望我的会话服务可用.
完成所有后台工作后,前端控制器或其中一个委托服务可以加载您实际请求的资源.
在中型或大型应用程序中,您无法使用前端控制器.如果您需要将一个不依赖于许多服务层的小应用程序连接起来,您可以放弃前端控制器.
否则你绝对应该使用一个.一旦您的应用程序增长,它将自动变得更难维护.您需要一个中心点,将请求委派给适合处理该特定任务的服务.