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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

什么是數(shù)據(jù)注入變量?它的使用場(chǎng)景是什么?

什么是數(shù)據(jù)注入變量?它的使用場(chǎng)景是什么?

FFIVE 2019-03-29 10:59:59
『PHP里引入Java中數(shù)據(jù)注入變量的概念具體如何實(shí)現(xiàn)?』http://segmentfault.com/q/10100000001...對(duì)這一概念及其使用場(chǎng)景不了解,能否介紹一下?
查看完整描述

2 回答

?
絕地?zé)o雙

TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超4個(gè)贊

與其叫注入變量不如加引用變量更加貼切,正如我在那個(gè)問(wèn)題中所回答的。而這種做法的應(yīng)用場(chǎng)景則是一切需要用到單例模式引用場(chǎng)景的地方,比如以前你在Controller里調(diào)用Model,可能要這么寫(xiě)classController_TestextendsController
{
publicfunctionexecute()
{
$this->loadModel('user')->fetch(...);
}
}這被稱為調(diào)用,無(wú)論你怎么做單例模式都是從外部調(diào)用的這個(gè)對(duì)象。但是如果你按我在上個(gè)答案中提到的方法實(shí)現(xiàn)__get,那么這個(gè)從外部調(diào)用的對(duì)象就注入成了內(nèi)部屬性,它的好處是顯而易見(jiàn)的,從寫(xiě)法上說(shuō)減少了很多麻煩而且更加清晰,從性能上說(shuō)減少了多次調(diào)用時(shí)檢測(cè)以及函數(shù)調(diào)用消耗classController_TestextendsController
{
publicfunctionexecute()
{
$this->userModel->fetch(...);
}
}
                            
查看完整回答
反對(duì) 回復(fù) 2019-03-29
?
喵喵時(shí)光機(jī)

TA貢獻(xiàn)1846條經(jīng)驗(yàn) 獲得超7個(gè)贊

舉個(gè)例子吧。
User:id|name|age這樣,如果有變量注入,初始化一個(gè)對(duì)象。$user=newUserObj();
//此時(shí)$user這個(gè)實(shí)例中并沒(méi)有載入name數(shù)據(jù)
echo$user->name;
//調(diào)用name屬性的時(shí)候,才進(jìn)行注入,載入數(shù)據(jù)事實(shí)上,這個(gè)UserObj并沒(méi)有定義name屬性,而是注入進(jìn)去的
在User里加入一個(gè)字段birthdayid|name|age|birthday那調(diào)用的時(shí)候,已然是直接調(diào)用,不需要修改UserObj的定義$user=newUserObj();
echo$user->birthday;
                            
查看完整回答
反對(duì) 回復(fù) 2019-03-29
  • 2 回答
  • 0 關(guān)注
  • 420 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

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