主頁 > 知識庫 > Laravel如何創(chuàng)建服務(wù)器提供者實例代碼

Laravel如何創(chuàng)建服務(wù)器提供者實例代碼

熱門標簽:九江外呼系統(tǒng) 七魚外呼系統(tǒng)停用嗎 阿里云400電話申請加工單 西區(qū)企業(yè)怎么做地圖標注入駐 地下城堡2圖九地圖標注 抖音有個地圖標注是什么意思 海南人工外呼系統(tǒng)有效果嗎 保定crm外呼系統(tǒng)運營商 智能電話機器人排名前十名南京

前言

Laravel服務(wù)器容器:是用于管理類依賴和執(zhí)行依賴注入的工具。下面我們演示下如何創(chuàng)建服務(wù)器提供者,它是Laravel的核心。話不多說了,來一起看看詳細的介紹吧

在app/Contracts目錄下創(chuàng)建TestContract.php文件,其內(nèi)容為:

?php 
namespace App\Contracts; 

interface TestContract { 
 public function callMe($controller); 
}

在app/Services目錄下創(chuàng)建TestService.php文件,其內(nèi)容為:

?php 
namespace App\Services; 
use App\Contracts\TestContract; 

class TestService implements TestContract { 
 public function callMe($controller){ 
 dd("Call me from TestServiceProvider in ".$controller); 
 } 
}

在config/app.php文件中providers中添加內(nèi)容,以便進行注冊:

... 
App\Providers\RiakServiceProvider::class,

創(chuàng)建1個服務(wù)提供類:

php artisan make:provider RiakServiceProvider 

其內(nèi)容為:

?php 

namespace App\Providers; 

use App\Services\TestService; 
use Illuminate\Support\ServiceProvider; 

class RiakServiceProvider extends ServiceProvider 
{ 
 /** 
 * Bootstrap the application services. 
 * 
 * @return void 
 */ 
 public function boot() 
 { 
 // 
 } 

 /** 
 * Register the application services. 
 * 
 * @return void 
 */ 
 public function register() 
 { 
 $this->app->bind("App\Contracts\TestContract",function(){ 
  return new TestService(); 
 }); 
 } 
}

在ServiceProvider中提供了2個方法,其中register方法用于注冊服務(wù),而boot用于引導(dǎo)服務(wù)。

在控制器IndxController中添加如下內(nèi)容:

?php 

namespace App\Http\Controllers; 

use App; 
use Illuminate\Http\Request; 
use App\Contracts\TestContract; 

class IndexController extends Controller 
{ 
 public function __construct(TestContract $test){ 
 $this->test = $test; 
 } 
 public function index(){ 
 $this->test->callMe("IndexController"); 
 } 
}

訪問瀏覽器可以得到如下的結(jié)果:

"Call me from TestServiceProvider in IndexController" 

另外,還可以使用App的make方法進行調(diào)用。

public function index(){ 
 $test = App::make('test'); 
 $test->callMe('IndexController'); 
 }

其結(jié)果也是一樣的。

參考文章:

  • https://laravelacademy.org/post/796.html
  • https://laravelacademy.org/post/93.html

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Laravel框架實現(xiàn)的rbac權(quán)限管理操作示例
  • Laravel5權(quán)限管理方法詳解
  • Laravel 5 框架入門(二)構(gòu)建 Pages 的管理功能
  • Laravel5.0+框架郵件發(fā)送功能實現(xiàn)方法圖文與實例詳解
  • Laravel框架集成UEditor編輯器的方法圖文與實例詳解
  • Laravel框架自定義驗證過程實例分析
  • laravel5.3 vue 實現(xiàn)收藏夾功能實例詳解
  • Laravel接收前端ajax傳來的數(shù)據(jù)的實例代碼
  • 在Laravel框架里實現(xiàn)發(fā)送郵件實例(郵箱驗證)
  • Laravel路由設(shè)定和子路由設(shè)定實例分析
  • Laravel框架實現(xiàn)簡單的學(xué)生信息管理平臺案例【附源碼下載】

標簽:十堰 遼陽 韶關(guān) 梅河口 九江 昭通 涼山 甘肅

巨人網(wǎng)絡(luò)通訊聲明:本文標題《Laravel如何創(chuàng)建服務(wù)器提供者實例代碼》,本文關(guān)鍵詞  Laravel,如何,創(chuàng)建,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel如何創(chuàng)建服務(wù)器提供者實例代碼》相關(guān)的同類信息!
  • 本頁收集關(guān)于Laravel如何創(chuàng)建服務(wù)器提供者實例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章