bootstrap 一般如何工作,特别是在 Zend Framework 中?

2024-05-03

我正在阅读 Zend Framework 手册,但无法理解引导程序如何工作,特别是在 ZF 和一般情况下。 他们写:

您的 Bootstrap 类定义了要使用哪些资源和组件 初始化。

好的。这意味着应该首先实例化 Bootstrap 类。 但随后他们写了配置ini文件。并且有关于Bootstrap其中的类本身:

1.  bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
2.  bootstrap.class = "Bootstrap"

据我了解,这意味着它不是Bootstarp首先实例化的类。首先必须读取配置文件,获取有关的信息Bootstrap类并拥有该信息来实例化。否则就没有必要获得有关的信息Bootstrap配置文件中的类。因为我可以这样做:

require_once(/application/bootstrap.php) 
$b = new Bootstrap();

并且 Bootstrap 被实例化。

但他们没有提及读取配置文件然后创建实例的方法Bootstrap.

  1. Bootstrap 到底是如何工作的?
  2. 谁在哪个阶段实例化它?
  3. 他们说APPLICATION_PATH是一个常数。常量必须在使用之前在某处定义。如果在Bootstrap类中使用的话可以在哪里定义?

谢谢。


如果你看一下index.phpZF 附带的文件,这应该可以回答大部分问题。

The APPLICATION_PATH常量定义在index.php,这也是Zend_Application创建对象,它只是引导应用程序,然后运行它。

有 2 种方法可以告诉您Zend_Application你的引导程序位于 ZF1 中。

第一种方式(显式设置):

$application = new Zend_Application(
    APPLICATION_ENV,
    array(
        'bootstrap' => array(
            'class' => 'Bootstrap',
            'path' => APPLICATION_PATH . '/Bootstrap.php',
        ),
        'config' => APPLICATION_PATH . '/configs/application.ini',
    )
);

在上面的示例中,引导类和引导脚本作为$options直接到Zend_Application的构造函数,以及application.ini file.

如果您将引导类和脚本放入您的application.ini文件,然后就可以初始化Zend_Application像这样:

$application = new Zend_Application(
    APPLICATION_ENV,
    array('config' => APPLICATION_PATH . '/configs/application.ini')
);

Zend_Application将处理application.ini文件并从那里收集 Bootstrap 信息。

然后你可以打电话$application->bootstrap()->run();运行应用程序。

直接回答您的问题:

  1. 引导程序会设置您的应用程序。处理完您的ini文件,这是发生的第一件事。这将为您的 ZF 应用程序设置所有必需的组件(例如前端控制器、Zend_View、布局、数据库连接等)。
  2. index.php 几乎从一开始就实例化了它。
  3. APPLICATION_PATH立即在index.php中定义
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

bootstrap 一般如何工作,特别是在 Zend Framework 中? 的相关文章

随机推荐