每个应用程序都遵循相同的流程:
- 1.应用程序从index.php开始
- a.设置application,module,system的路径
- b.设置Error reporting的等级
- c.如果存在安装文件,就加载它
- d.引导文件,APPPATH/bootstrap.php已经引入
- 2.一旦我们在bootstrap.php:
- a.Kohana类已经加载
- b.Kohana::init被调用来设置错误处理,缓存和日志记录
- c.附加Kohana_Config的阅读器和Kohana_Log的写入器
- d.调用Kohana::modules来开启更多的模块
- (1)模块路径添加到级联文件系统
- (2)如果每个模块的init.php文件存在就引入它
- (3)init.php文件可以执行额外的环境设置,包括添加路由
- e.多次调用Route::set来定义应用程序的路由
- f.调用Request::instance来开始出来请求
- (1)检测每一个路由的设置,直到路由被匹配
- (2)创建controller的实例,并传递请求给它
- (3)调用Controller::before
- (4)调用能产生请求响应的controller的action
- (5)调用Controller::after方法
- 1-.当你使用HMVC sub-requests的时候,上面5个步骤可以被重复多次
- 3.应用程序的流程返回到index.php
- a.显示主[请求]的响应