yaf零基礎學習總結6-學習使用Yaf中的插件

Bootstrap, 也叫作引導程序. 它是Yaf提供的一個全局配置的入口, 在Bootstrap中, 你能夠作不少全局自定義的工做.在一個Yaf_Application被實例化以後, 運行(Yaf_Application::run)以前, 可選的咱們能夠運行Yaf_Application::bootstrap 

php

[php]  view plain copy
 
  1. <?php  
  2. $app = new Yaf_Application("conf.ini");  
  3. $app  
  4.  ->bootstrap() //可選的調用  
  5.  ->run();  
  6. }  



當bootstrap被調用的時刻, Yaf_Application就會默認的在APPLICATION_PATH下, 尋找Bootstrap.php, 而這個文件中, 必須定義一個Bootstrap類, 而這個類也必須繼承自Yaf_Bootstrap_Abstract.(也能夠經過在配置文件中修改application.bootstrap來變動Bootstrap類的位置.) 

實例化成功以後, 全部在Bootstrap類中定義的, 以_init開頭的方法, 都會被依次調用, 而這些方法均可以接受一個Yaf_Dispatcher實例做爲參數. 



給出一個示例 

html

[php]  view plain copy
 
  1. <?php  
  2.   
  3. /** 
  4.  * 全部在Bootstrap類中, 以_init開頭的方法, 都會被Yaf調用, 
  5.  * 這些方法, 都接受一個參數:Yaf_Dispatcher $dispatcher 
  6.  * 調用的次序, 和申明的次序相同 
  7.  */  
  8. class Bootstrap extends Yaf_Bootstrap_Abstract{  
  9.   
  10.         public function _initConfig() {  
  11.                 $config = Yaf_Application::app()->getConfig();  
  12.                 Yaf_Registry::set("config", $config);  
  13.         }  
  14.   
  15.         public function _initDefaultName(Yaf_Dispatcher $dispatcher) {  
  16.                 $dispatcher->setDefaultModule("Index")->setDefaultController("Index")->setDefaultAction("index");  
  17.         }  
  18. }  



方法在Bootstrap類中的定義出現順序, 決定了它們的被調用順序. 好比對於上面的例子, _initConfig會第一個被調用. 


因而可知,咱們能夠經過調用Bootstrap對咱們的項目作一些預處理,好比指定默認的模塊,默認的Controller,後續咱們還會學習添加路由也能夠在Bootstrap裏面定義。bootstrap

相關文章
相關標籤/搜索