一、目录结构
1、入口文件 —— index.php
使用conf中的配置文件application.ini(取目录/application) 调用/application/Bootstrap.php,把这个项目跑起来
代码语言:javascript复制<?php
define('APPLICATION_PATH', dirname(__FILE__));
define('APP_PATH', dirname(__FILE__) . '/');
define('FILE_UPLOAD_PATH', dirname(__FILE__) . '/static/uploadDir');
$application = new Yaf_Application( APPLICATION_PATH . "/conf/application.ini");
$application->bootstrap()->run();
?>
2、开发入口 —— Bootstrap.php
很多基础功能都是在这里先注册的
代码语言:javascript复制class Bootstrap extends Yaf_Bootstrap_Abstract{
public function _initConfig() {
//把配置保存起来
$arrConfig = Yaf_Application::app()->getConfig();
Yaf_Registry::set('config', $arrConfig);
}
public function _initPlugin(Yaf_Dispatcher $dispatcher) {
//注册一个插件
$objSamplePlugin = new PluginMain();
$dispatcher->registerPlugin($objSamplePlugin);
}
public function _initRoute(Yaf_Dispatcher $dispatcher) {
//在这里注册自己的路由协议,默认使用简单路由
/* $router = Yaf_Dispatcher::getInstance()->getRouter(); */
/* $router->addConfig(Yaf_Registry::get("config")->routes); */
}
public function _initView(Yaf_Dispatcher $dispatcher){
//在这里注册自己的view控制器,例如smarty,firekylin
}
}
3、流程
1)index.php 里 加载conf中的文件 2)调用Bootstrap.php 3)根据请求里的controller和action的定义找到对应的controller
4、yaf的路由
rewrite规则
参考: https://www.cnblogs.com/lzzxm/articles/12537379.html https://zhuanlan.zhihu.com/p/341479817