序言

yii\web\Controller类是比较常用的类,Yii2的前后台控制器都是继承了这个类。关于yii\web\Controller类的说明,其实Yii2的文档上也有,我为什么还要写这篇文章呢?可能会有很多人疑惑...。我是这么认为的,Yii2的文档是有没有错,但是那毕竟是针对大众的,而且里边没有任何一个实例,让人看着还是比较费劲的,要是有人能够解读每一个类,然后放出具体的例子,是不是看着就舒服多了?理解得也快些?

需求分析

解析yii\web\Controller类,了解其类中的方法和属性及其使用。

代码分析

它的继承顺序:`yii\web\Controller » yii\base\Controller » yii\base\Component » yii\base\Object
`
实现的接口:yii\base\ViewContextInterface

它的子类:yii\rest\ActiveController, yii\rest\Controller

以WeelySummaryController控制器为例测试,以下是我调用其父类比较常用的方法或属性得到的结果,现分享给大家:

1、$this->id //获取该控制器的名称字符串(控制器id)
如:weely-summary

2、$this->getViewPath() 或者 $this->viewPath //获取当前视图路径,具体到所在文件夹名称。
如:D:\phpStudy\WWW\hand\backend\views\weely-summary

3、$this->action->id //获取当前视图名称
如:index //列表页

4、$this->action->actionMethod //获取当前方法名
如:actionIndex

5、$this->actionParams //绑定当前操作的参数
如:Array ( [id] => 3 )

6、$this->route //获取当前请求的路由,得到控制器id和视图id
如:weely-summary/index

相关资料

Yii2 的文档:http://www.yiichina.com/doc/api/2.0/yii-web-controller


zacklee
704 声望56 粉丝