yii框架的执行过程

作者:zccst


二、controllers里的$this和models里的$this含义是不一样的。
在controllers里,可以$this->current_user,因为current_user已经在Controller.php里定义。
而在models里,$this是AR类。


一、分析一个具体的yii执行过程
#11 ../protected/controllers/OutsourceController.php(206): OutsourceController->doAction('suspend')
#12 ../Yii-1.1/framework/web/actions/CInlineAction.php(32): OutsourceController->actionSuspend()
#13 ../Yii-1.1/framework/web/CController.php(300): CInlineAction->run()
#14 ../Yii-1.1/framework/web/filters/CFilterChain.php(129): CController->runAction(Object(CInlineAction)) //运行Action
#15 ../protected/components/Controller.php(83): CFilterChain->run()
#16 ../Yii-1.1/framework/web/filters/CInlineFilter.php(59): Controller->filterAccessAuth(Object(CFilterChain))//自定义Controller
#17 ../Yii-1.1/framework/web/filters/CFilterChain.php(126): CInlineFilter->filter(Object(CFilterChain))
#18 ../Yii-1.1/framework/web/CController.php(283): CFilterChain->run()
#19 ../Yii-1.1/framework/web/CController.php(257): CController->runActionWithFilters(Object(CInlineAction), Array)
/*-------------------------------------------------------------------------
在CController.php的run('suspend')方法中,执行了
if($parent->beforeControllerAction($this,$action))
{
$this->runActionWithFilters($action,$this->filters());//带过滤的运行action。也即运行controller的时候还没加入过滤。
$parent->afterControllerAction($this,$action);
}
在runActionWithFilters方法中又执行了CFilterChain::create($this,$action,$filters)->run();
该方法先create,再run,在run方法中又执行了$filter->filter($this); 在filter方法中
$method='filter'.$this->name;
$filterChain->controller->$method($filterChain);
----------------------------------------------------------------------------*/
#20 ../Yii-1.1/framework/web/CWebApplication.php(320): CController->run('suspend')
#21 ../Yii-1.1/framework/web/CWebApplication.php(120): CWebApplication->runController('outsource/suspend') //运行Controller
#22 ../Yii-1.1/framework/base/CApplication.php(135): CWebApplication->processRequest()
#23 /url/index.php(28): CApplication->run()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值