序言
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教程有興趣的朋友有所協助。