2024 日本 PHP 研討會

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 A Bootstrap() 範例

<?php
/**
* 此檔案應放在 APPLICATION_PATH . "/application/" 下(在傳遞給 Yaf_Application 的設定檔中定義)。
* 並命名為 Bootstrap.php,以便 Yaf_Application 可以找到它
*/
class Bootstrap extends Yaf_Bootstrap_Abstract {
public function
_initConfig(Yaf_Dispatcher $dispatcher) {
echo
"第一次呼叫\n";
}

public function
_initPlugin($dispatcher) {
echo
"第二次呼叫\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 載入 session 類別,然後載入資料庫類別並使用應用程式設定檔中的資料庫設定的範例。

<?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