W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
那么,如何實(shí)現(xiàn)契約呢?它其實(shí)很簡(jiǎn)單。
Laravel 中的許多類都是通過(guò) 服務(wù)容器 解析的,包括控制器、事件偵聽(tīng)器、中間件、隊(duì)列任務(wù),甚至路由閉包。因此,要實(shí)現(xiàn)契約,您只需在被解析的類的構(gòu)造函數(shù)中「類型提示」接口。
例如,查看此事件偵聽(tīng)器:
<?php
namespace App\Listeners;
use App\Events\OrderWasPlaced;
use App\Models\User;
use Illuminate\Contracts\Redis\Factory;
class CacheOrderInformation
{
/**
* Redis 工廠實(shí)現(xiàn)
*/
protected $redis;
/**
* 創(chuàng)建一個(gè)事件處理實(shí)例
*
* @param Factory $redis
* @return void
*/
public function __construct(Factory $redis)
{
$this->redis = $redis;
}
/**
* 處理事件
*
* @param OrderWasPlaced $event
* @return void
*/
public function handle(OrderWasPlaced $event)
{
//
}
}
當(dāng)解析事件偵聽(tīng)器時(shí),服務(wù)容器將讀取類的構(gòu)造函數(shù)上的類型提示,并注入適當(dāng)?shù)闹怠?要了解更多有關(guān)在服務(wù)容器中注冊(cè)內(nèi)容的信息,請(qǐng)查看 其文檔。
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)系方式:
更多建議: