Bootstrap, 也叫做引导程序. 它是Yaf提供的一个全局配置的入口, 在Bootstrap中, 你可以做很多全局自定义的工作.在一个Yaf_Application被实例化之后, 运行(Yaf_Application::run)之前, 可选的我们可以运行Yaf_Application::bootstrap
bootstrap() //可选的调用
->run();
}
当bootstrap被调用的时刻, Yaf_Application就会默认的在APPLICATION_PATH下, 寻找Bootstrap.php, 而这个文件中, 必须定义一个Bootstrap类, 而这个类也必须继承自Yaf_Bootstrap_Abstract.(也可以通过在配置文件中修改application.bootstrap来变更Bootstrap类的位置.)
实例化成功之后, 所有在Bootstrap类中定义的, 以_init开头的方法, 都会被依次调用, 而这些方法都可以接受一个Yaf_Dispatcher实例作为参数.
给出一个示例
getConfig();
Yaf_Registry::set("config", $config);
}
public function _initDefaultName(Yaf_Dispatcher $dispatcher) {
$dispatcher->setDefaultModule("Index")->setDefaultController("Index")->setDefaultAction("index");
}
}
方法在Bootstrap类中的定义出现顺序, 决定了它们的被调用顺序. 比如对于上面的例子, _initConfig会第一个被调用.
由此可见,我们可以通过调用Bootstrap对我们的项目做一些预处理,比如指定默认的模块,默认的Controller,后续我们还会学习添加路由也可以在Bootstrap里面定义。