kohana分析之主程序加载流程

本文深入剖析Kohana PHP框架的启动过程,从index.php入口文件到Bootstrap.php的核心加载流程,详细介绍了Kohana如何初始化环境、加载核心组件及执行控制器方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

kohana是一个非常优秀,强劲,且轻量级的php框架,运用到了php5的新特性,如auto_load,对于小型网站来说,是非常不错的选择。

中文手册也非常的全,比较容易上手,具体见中文官方网站:http://v2.kohanacn.com/docs/

 

本文是要切入kohana的内部,分析其启动过程:

1.index.php

单一入口主文件,基本上是设置模块路径,全局变量等.如错误信息,系统模块路径,网站目录等.

其他工作转给 require SYSPATH.'core/Bootstrap'.EXT;完成。

值得提的是,如果我们想捕获整个程序的异常,那可以把他改成:

try{

     require SYSPATH.'core/Bootstrap'.EXT;

}catch($e){

     //处理错误,提示有好页面等等

}

 

 

2.Bootstrap.php

这个类用来加载一些必须的类库,初始化启动信息后,完成执行过程。并且记录部分流程的执行时间信息。

 

3.konana类,这是核心类,php执行核心操作都在此定义,在此完成初始化

 

Kohana::setup()

 

 

回到Bootstap.php

 

 剩下的就是Event.run了,调用各个处理程序,这些函数的注册过程参见kohana::setup();

 

  

 

 'system.routing'对应的注册方法有2个:Router.find_uri,Router.setup,作用在Kohana.setup里已经介绍过了,这里重点介绍

system.execute对应的函数是Kohana.instance,此方法的任务是创建唯一的控制器对象,调用控制器的方法,中间会调用一些钩子时间,方便我们想在某个环节做一些处理,还做了方法的私有化判断。

 

 

回到Bootsarp.php,之后执行的是Event::run('system.shutdown');调用的是Kohana.shutdown,做一些清理工作:刷新缓冲,再把缓冲里面的数据进行全局替换.

 

ob函数是php内部缓冲处理模块:

function out($a){
 global $html;
 $html = '<div style="color:red">'.$a.'</div>';//file_put_contents('c:/2.txt',$a);die;
 return $html;
}

//开启缓冲,并且设置缓冲函数为out

ob_start('out');

 

 

未完待续

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值