Yii2是一个MVC的框架,其中Controller是页面应用最重要的一个组成部分之一
目前比较常用的Controller有两种类型,web
& console
web类型的主要提供给对外通过浏览器访问,而控制台类型的则一般都是用于跑一些后台定时接口,或者一些需要较长时间运行,若用页面接口会超时,即使PHP的时间限制关闭,也会受到NGINX的允许时间限制。
注 本文主要讲web类型的控制器相关的问题
控制器的生命周期

说明
每一个请求都会经过入口脚本/web/index.php
,调用
$application = new yii\web\Application($config);
$application->run();
顺着run方法看下去,可以发现调用了Module中创建了Controller,并且调用了对应控制器的runAction方法
在runAction方法中,按顺序调用了module的beforeAction,Controller的beforeAction,Controller的afterAction,module的afterAction。
所以这也是为什么每一个控制器的方法在进入之前一定会调用beforeAction,在结束之后会调用afterAction
网友评论