zend 中 bootstrap 的目的是什么?

2022-08-30 18:33:18

我想知道Zend Framework中bootstrap的真正目的是什么。

进入 Bootstrap 类的方法有哪些?

任何教程链接都可能有所帮助...如果问题如此模糊,请原谅我。我正在尝试学习Zend,但教程和书籍跳过了步骤,它们在框架网站中并不那么清楚。我从快速入门中学到的只是它有助于启动会话。

我是否认为引导程序在任何控制器加载之前首先运行?我可以在bootstrap中编写任何需要从头开始加载的方法吗?如何在控制器中访问这些引导方法?


答案 1

来自维基百科:

在计算中,自举(来自一个古老的表达“通过自己的自举将自己拉起来”)是一种技术,通过这种技术,一个简单的计算机程序激活了更复杂的程序系统。在计算机系统的启动过程中,一个小程序(如BIOS)初始化并测试硬件,外围设备和外部存储设备的基本要求是否连接。然后,它从其中一个程序加载程序并将其控制权传递给它,从而允许加载较大的程序(例如操作系统)。

在 Zend Framework 中,引导是加载应用程序的过程。这包括但不限于会话。应用程序处理应用程序请求(调度)所需的任何资源都会在请求完成之前引导/加载/初始化,例如,在控制器将任何输入委托给模型并创建发送回客户端的响应之前。

其他信息:http://framework.zend.com/manual/1.12/en/zend.application.theory-of-operation.html


答案 2

正如戈登所说:

在 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');
    }
}

推荐