我想知道在Zend Framework中,Bootstrap的真正目的是什么。
Bootstrap类包含哪些方法?
有任何教程链接可以帮忙吗...如果问题太模糊,请原谅我。我正在尝试学习Zend,但教程和书籍都跳过了一些步骤,在框架网站上也不是很清晰。从快速启动中我只能学到它可以帮助开始会话。
我是否正确地认为在任何控制器加载之前,引导程序首先运行?我可以在Bootstrap中编写任何需要从一开始就加载的方法吗?如何在控制器中访问这些Bootstrap方法?
我想知道在Zend Framework中,Bootstrap的真正目的是什么。
Bootstrap类包含哪些方法?
有任何教程链接可以帮忙吗...如果问题太模糊,请原谅我。我正在尝试学习Zend,但教程和书籍都跳过了一些步骤,在框架网站上也不是很清晰。从快速启动中我只能学到它可以帮助开始会话。
我是否正确地认为在任何控制器加载之前,引导程序首先运行?我可以在Bootstrap中编写任何需要从一开始就加载的方法吗?如何在控制器中访问这些Bootstrap方法?
维基百科中的解释如下:
在计算机领域,引导(bootstrapping)是指通过一个简单的计算机程序来激活一组更复杂的程序的技术。在计算机系统启动过程中,一个小型程序(例如BIOS)会初始化并测试硬件、外围设备和外部内存设备的基本要求是否已连接。然后它从其中一个设备加载程序并将控制权传递给它,从而允许加载更大的程序(例如操作系统)。
在Zend Framework中,“bootstrapping”是指加载应用程序的过程。这包括但不限于会话。在处理请求(分派)时,应用程序需要处理请求的任何资源都将在请求完成之前进行引导/加载/初始化,例如,在控制器将任何输入委托给模型并创建要返回给客户端的响应之前。
附加信息:http://framework.zend.com/manual/1.12/en/zend.application.theory-of-operation.html
正如Gordon所说:
在Zend Framework中,引导是加载应用程序的过程。这包括但不限于会话。
您可以在Bootstrap类中创建许多私有方法。所有以_init前缀开头的方法名称都将在应用程序启动之前执行一次。
这里举一个例子:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
protected function initSidebar(){
// Define a placeholder view for a template/layout
$this->bootstrap('View'); //Make sure the view resource is made available
$view = $this->getResource('View');
$view->placeholder('sidebar')
->setPrefix("<div class=\"sidebar\">\n <div class=\"block\">\n")
->setSeparator("</div>\n <div class=\"block\">\n")
->setPostfix("</div>\n</div>");
}
protected function initDocType() {
// Define a constant for the Doctype string on the template
$this->bootstrap('View');
$view = $this->getResource('View');
$view->doctype('HTML5');
}
}