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

相关文章
相关标签/搜索