Yaf_Application
在线手册:中文  英文

Yaf_Application::bootstrap

(Yaf >=1.0.0)

Yaf_Application::bootstrapCall bootstrap

说明

public void Yaf_Application::bootstrap ([ Yaf_Bootstrap_Abstract $bootstrap ] )

Run a Bootstrap, all the methods defined in the Bootstrap and named with prefix "_init" will be called according to their declaration order, if the parameter bootstrap is not supplied, Yaf will look for a Bootstrap under application.directory.

参数

bootstrap

A Yaf_Bootstrap_Abstract instance

返回值

Yaf_Application instance

范例

Example #1 A Bootstrap()example

<?php
/**
 * This file should be under the APPLICATION_PATH . "/application/"(which was defined in the config passed to Yaf_Application).
 * and named Bootstrap.php,  so the Yaf_Application can find it 
 */
class Bootstrap extends Yaf_Bootstrap_Abstract {
    function 
_initConfig(Yaf_Dispatcher $dispatcher) {
        echo 
"1st called\n";
    }

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

Example #2 Yaf_Application::bootstrap()example

<?php

defined
('APPLICATION_PATH')                  // APPLICATION_PATH will be used in the ini config file
    
|| define('APPLICATION_PATH'__DIR__)); //__DIR__ was introduced after PHP 5.3

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

以上例程的输出类似于:

1st called
2nd called

参见


Yaf_Application
在线手册:中文  英文

用户评论:

brandon at brandonlamb dot com (2011-12-29 20:50:25)

Here is an example of a Bootstrap loading a session class then loading a database class and using a db configuration from the application config.

<?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));
    }
}
?>

易百教程