我正在查看我在过去两个月中为Zend编写的一些代码,我发现在初始化前端控制器时有些不一致(因为我是初学者)。
我发现有时候我做过这样的事
$frontController = Zend_Controller_Front::getInstance();其他时候我也这么做过
$this->bootstrap('FrontController');
$frontController = $this->getResource('FrontController');不知道我在想什么。我猜我可能是在举例子。谁知道这两者之间有什么真正的区别吗?
发布于 2010-11-09 21:41:15
一种是对Singleton对象的调用,它可以从任何地方获取。另一个是调用应用程序引导程序,以检索名为“FrontController”的资源。
从理论上讲,名为'FrontController‘的资源可以是分配给具有该名称的引导程序的任何东西,例如自定义前端控制器实现,如果您不喜欢使用Zend的话。
实际上,它们都检索Zend_Controller_Front实例。
发布于 2010-11-09 21:40:54
Zend_Controller_Front::getInstance()第一种方法是直接调用Zend_Controller_Front.
$this->bootstrap('FrontController');
$frontController = $this->getResource('FrontController');第二种方法使用带有Zend_Application_Bootstrap_ResourceBootstrapper.的Zend_Application在初始化Zend_Application时,它会注册FrontController资源,然后使用引导文件中的$this->bootstrap调用对其进行初始化。
虽然后一种方法需要Zend_Application和Zend_Controller,但第一种方法仅依赖于Zend_Controller。
发布于 2010-11-09 21:32:51
我认为它是两个相同类型的;-)
https://stackoverflow.com/questions/4133977
复制相似问题