第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么Yii2 框架要在控制器里面 init方法取代__construct構(gòu)造方法?

為什么Yii2 框架要在控制器里面 init方法取代__construct構(gòu)造方法?

Yii
慕標5832272 2018-08-09 08:28:09
為什么Yii2 框架要在控制器里面 init方法取代__construct構(gòu)造方法?thinkphp里面也是如此,控制器里面用 __init**方法取代了__construct?有哪些必要性和好處呢??
查看完整描述

2 回答

?
PIPIONE

TA貢獻1829條經(jīng)驗 獲得超9個贊

我剛才在yii2 2.0.6版本里面,__construct方法里面不能使用

Url::toRout('index/index')

因為控制器在構(gòu)造方法執(zhí)行完畢后才會注冊。
你只能在前置操作里面操作,也就是你所謂的__ini*()方法。
也就是說,前置方法能得到一個系統(tǒng)級初始化完畢后的系統(tǒng),構(gòu)造方法不是。
前置方法并沒有取代構(gòu)造方法
構(gòu)造方法總是會執(zhí)行,前置方法在內(nèi)部調(diào)用時候不會執(zhí)行,只對訪問控制器有效。


查看完整回答
反對 回復(fù) 2018-08-12
?
慕萊塢森

TA貢獻1810條經(jīng)驗 獲得超4個贊

因為控制器的基類需要__constuct()方法做一些初始化的工作(比如初始化模板引擎),如果你在控制器里實現(xiàn)了__construct,你還需要在__construct里調(diào)用parent::__construct()就太麻煩了。
所以通常會在基類里定義一個空的init方法,并且在__construct里(通常是末尾)調(diào)用$this->init(),這樣開發(fā)的時候就只需要實現(xiàn)init方法

查看完整回答
反對 回復(fù) 2018-08-12
  • 2 回答
  • 0 關(guān)注
  • 1455 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號