W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
所以,要如何實(shí)現(xiàn)一個(gè) contract?實(shí)際上非常的簡(jiǎn)單。很多 Laravel 的類(lèi)都是經(jīng)由 service container 解析,包含控制器,事件監(jiān)聽(tīng),過(guò)濾器,隊(duì)列任務(wù),甚至是閉包。所以,要實(shí)現(xiàn)一個(gè) contract,你可以在類(lèi)的構(gòu)造器使用「類(lèi)型提示」解析類(lèi)。例如,看下面的事件處理程序:
<?php namespace App\Handlers\Events;
use App\User;
use App\Events\NewUserRegistered;
use Illuminate\Contracts\Redis\Database;
class CacheUserInformation {
/**
* Redis 數(shù)據(jù)庫(kù)實(shí)現(xiàn)
*/
protected $redis;
/**
* 建立新的事件處理實(shí)例
*
* @param Database $redis
* @return void
*/
public function __construct(Database $redis)
{
$this->redis = $redis;
}
/**
* 處理事件
*
* @param NewUserRegistered $event
* @return void
*/
public function handle(NewUserRegistered $event)
{
//
}
}
當(dāng)事件監(jiān)聽(tīng)被解析時(shí),服務(wù)容器會(huì)經(jīng)由類(lèi)構(gòu)造器參數(shù)的類(lèi)型提示,注入適當(dāng)?shù)闹?。要知道怎么注?cè)更多服務(wù)容器,參考這個(gè)文檔。
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)系方式:
更多建議: