laravel契約怎么使用

這篇文章主要介紹“l(fā)aravel契約怎么使用”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“l(fā)aravel契約怎么使用”文章能幫助大家解決問(wèn)題。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供撫州企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為撫州眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

在laravel中,契約指的是框架提供的一系列定義核心服務(wù)的接口,用于方便第三方接口開(kāi)發(fā)人員的開(kāi)發(fā),所有契約的實(shí)現(xiàn)組成了框架所有的核心任務(wù),并且可以通過(guò)契約了解指定功能的作用。

本文操作環(huán)境:Windows10系統(tǒng)、Laravel6版、Dell G3電腦。

laravel契約的用法是什么

契約是什么

Laravel中的契約是指框架提供的一系列定義核心服務(wù)的接口,比如緩存,隊(duì)列,日志的接口,契約就是接口

為什么要定義接口

定義接口目的為了解耦

當(dāng)我們依賴注入緩存實(shí)例的時(shí)候laravel實(shí)現(xiàn)如下:

例如:我們選擇使用memcached 緩存驅(qū)動(dòng)

use Illuminate\Contracts\Cache\Repository as Cache;
class Repository{
    /**
     * 創(chuàng)建一個(gè)新的Repository實(shí)例
     *
     * @param  Cache  $cache
     * @return void
     */
    public function __construct(Cache $cache)
    {
        $this->cache = $cache;
    }
}

不定義接口

如果不定義接口我們必須這樣寫(xiě)

use Memcached;
class Repository{
    /**
     * 創(chuàng)建一個(gè)新的Repository實(shí)例
     *
     * @param  Cache  $cache
     * @return void
     */
    public function __construct(Memcached $cache)
    {
        $this->cache = $cache;
    }
}

這樣當(dāng)我們需要切換緩存驅(qū)動(dòng)為redis 的時(shí)候,我們必須去控制器中把依賴注入的類型約定修改成redis,因?yàn)閞edis 的實(shí)現(xiàn),和Memcached 并不一定完全相同,這就說(shuō)明Memcached緩存緊密耦合與laravel

什么才算是松耦合

什么才算松耦合,當(dāng)系統(tǒng)升級(jí),需要對(duì)一種實(shí)現(xiàn)進(jìn)行修改(如從Memcached 需要升級(jí)到Redis)時(shí),能夠不對(duì)代碼庫(kù)進(jìn)行修改,只需要對(duì)配置進(jìn)行修改就能完成升級(jí)的時(shí)候就算是松耦合了!

一個(gè)契約兩種,或者多種實(shí)現(xiàn)

個(gè)人感覺(jué),契約既然定了,那么對(duì)應(yīng)的實(shí)現(xiàn)應(yīng)該是兩種,或者更多的實(shí)現(xiàn),或者在不久的將來(lái)會(huì)有兩個(gè)或者更多的實(shí)現(xiàn),契約就是來(lái)規(guī)定這么多實(shí)現(xiàn)的。如果肯定只有一種實(shí)現(xiàn),感覺(jué)契約就沒(méi)啥用了!

關(guān)于“l(fā)aravel契約怎么使用”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

分享名稱:laravel契約怎么使用
鏈接地址:http://muchs.cn/article12/pppdgc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、網(wǎng)站內(nèi)鏈、自適應(yīng)網(wǎng)站、微信小程序、ChatGPT、商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司