您好,登錄后才能下訂單哦!
這篇文章將為大家詳細(xì)講解有關(guān)Laravel中怎么利用Provider 創(chuàng)建 Service,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。
1、定義服務(wù)類
我們這里先定義一個(gè)綁定到容器的測(cè)試類TestService
,為了對(duì)類的定義加以約束,我們同時(shí)還定義一個(gè)契約接口TestContract
。
定義TestService
如下:
接下來(lái)我們定義一個(gè)服務(wù)提供者TestServiceProvider
用于注冊(cè)該類到容器。創(chuàng)建服務(wù)提供者可以使用如下Artisan命令:
該命令會(huì)在app/Providers
目錄下生成一個(gè)TestServiceProvider.php
文件,我們編輯該文件內(nèi)容如下:
定義完服務(wù)提供者類后,接下來(lái)我們需要將該服務(wù)提供者注冊(cè)到應(yīng)用中,很簡(jiǎn)單,只需將該類追加到配置文件config/app.php
的providers
數(shù)組中即可:
這樣我們就可以在應(yīng)用中使用該服務(wù)提供者了,為了測(cè)試該服務(wù)提供者我們首先使用Artisan命令創(chuàng)建一個(gè)資源控制器TestController
:
php artisan make:controlle TestController --resource // 該命令創(chuàng)建資源控制器
然后在路由配置文件routes.php
中定義路由:
最后去TestController
中編寫測(cè)試代碼:
注意: 在控制器中的構(gòu)造函數(shù)中
返回TestService實(shí)例是因?yàn)樵赥estServiceProvider中進(jìn)行了綁定,在callback函數(shù)中實(shí)例化了TestService這個(gè)類并且返回
然后我們?nèi)g覽器中訪問(wèn)http://laravel.app:8000/test
,分別測(cè)試使用App::make
和依賴注入解析綁定類調(diào)用callMe
方法的輸出,結(jié)果一樣,都是
關(guān)于Laravel中怎么利用Provider 創(chuàng)建 Service就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。