濮阳杆衣贸易有限公司

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

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

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

前言

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

在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)容,以便進(jìn)行注冊(cè):

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

創(chuàng)建1個(gè)服務(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個(gè)方法,其中register方法用于注冊(cè)服務(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方法進(jìn)行調(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é)

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

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

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

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Laravel如何創(chuàng)建服務(wù)器提供者實(shí)例代碼》,本文關(guān)鍵詞  Laravel,如何,創(chuàng)建,服務(wù)器,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Laravel如何創(chuàng)建服務(wù)器提供者實(shí)例代碼》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Laravel如何創(chuàng)建服務(wù)器提供者實(shí)例代碼的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    黄山市| 温泉县| 安达市| 泸州市| 班戈县| 慈利县| 荣成市| 喀喇沁旗| 栾城县| 锦屏县| 普兰店市| 乌兰县| 聊城市| 松桃| 栾城县| 突泉县| 芜湖县| 大埔县| 舟曲县| 景谷| 栾城县| 平乡县| 丰台区| 轮台县| 洛隆县| 临邑县| 松滋市| 安庆市| 东光县| 乡城县| 兰西县| 南江县| 双辽市| 井陉县| 徐闻县| 天峻县| 仁化县| 阿瓦提县| 中方县| 衡水市| 正镶白旗|