(1)入口文件:/public/index.php:
<?php
define("DS", '/');
define('APPLICATION_PATH', dirname(__FILE__).DS.'..'.DS);//指向public上一级的目录 ../
$application = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");
$application->bootstrap()->run();
?>
(2)在引导程序Bootstrap.php中定义自已的视图引擎Smarty(/application/Bootstrap.php):
class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
//把配置保存起来
$arrConfig = Yaf_Application::app()->getConfig();
Yaf_Registry::set('config', $arrConfig);
}
//其他定义忽略......
public function _initSmarty(Yaf_Dispatcher $dispatcher) {
//init smarty view engine
$smarty = new Smarty_Adapter(null, Yaf_Registry::get("config")->get("smarty"));
$dispatcher->setView($smarty);
}
}
(3)添加Smarty的适配器即Smarty_Adapter类,使Yaf和Smarty之间能进行适配,把你需要view做的功能实现在Smarty_Adapter类里面实现,yaf通过他们来操作smart