欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

yiiwebController类的剖析

程序员文章站 2022-05-13 10:14:01
...
序言

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

以上就介绍了yii\web\Controller类的剖析,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。