PHP Conference Japan 2024

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrap调用 Bootstrap

描述

public Yaf_Application::bootstrap(Yaf_Bootstrap_Abstract $bootstrap = ?): void

运行 Bootstrap,Bootstrap 中定义的所有以 "_init" 为前缀的方法都将根据其声明顺序被调用,如果未提供参数 bootstrap,则 Yaf 会在 application.directory 下查找 Bootstrap。

参数

bootstrap

一个 Yaf_Bootstrap_Abstract 实例

返回值

Yaf_Application 实例

示例

示例 #1 Bootstrap()示例

<?php
/**
* 此文件应位于 APPLICATION_PATH . "/application/"(在传递给 Yaf_Application 的配置中定义)下。
* 并命名为 Bootstrap.php,以便 Yaf_Application 可以找到它
*/
class Bootstrap extends Yaf_Bootstrap_Abstract {
function
_initConfig(Yaf_Dispatcher $dispatcher) {
echo
"1st called\n";
}

function
_initPlugin($dispatcher) {
echo
"2nd called\n";
}
}
?>

示例 #2 Yaf_Application::bootstrap()示例

<?php

defined
('APPLICATION_PATH') // APPLICATION_PATH 将在 ini 配置文件中使用
|| define('APPLICATION_PATH', __DIR__);

$application = new Yaf_Application(APPLICATION_PATH.'/conf/application.ini');
$application->bootstrap();
?>

以上示例将输出类似以下内容

1st called
2nd called
添加注释

用户贡献的注释 1 条注释

brandon at brandonlamb dot com
12 年前
这是一个 Bootstrap 加载会话类,然后加载数据库类并使用来自应用程序配置的数据库配置的示例。

<?php
class Bootstrap extends Yaf_Bootstrap_Abstract
{
public function
_initSession(Yaf_Dispatcher $dispatcher)
{
$session = new Vendor\Session();
$session->start();
}

public function
_initDatabase(Yaf_Dispatcher $dispatcher)
{
$config = Yaf_Application::app()->getConfig()->application->database;
Yaf_Registry::set('db', Vendor\Database($config));
}
}
?>
To Top