W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
服務(wù)容器有一個(gè)很強(qiáng)大的功能,就是支持綁定接口到給定的實(shí)現(xiàn)。例如,如果我們有個(gè) EventPusher
接口 和一個(gè) RedisEventPusher
實(shí)現(xiàn)。一旦我們寫完了 EventPusher
接口的 RedisEventPusher
實(shí)現(xiàn),我們就可以在服務(wù)容器中注冊(cè)它,像這樣:
$this->app->bind(
'App\Contracts\EventPusher',
'App\Services\RedisEventPusher'
);
這么做相當(dāng)于告訴容器:當(dāng)一個(gè)類需要實(shí)現(xiàn) EventPusher
時(shí),應(yīng)該注入 RedisEventPusher
?,F(xiàn)在我們就可以在構(gòu)造函數(shù)或者任何其他通過服務(wù)容器注入依賴項(xiàng)的地方使用類型提示注入 EventPusher
接口:
use App\Contracts\EventPusher;
/**
* 創(chuàng)建一個(gè)新的類實(shí)例
*
* @param EventPusher $pusher
* @return void
*/
public function __construct(EventPusher $pusher)
{
$this->pusher = $pusher;
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: