最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2019年04月15日 10:53:40   作者:我勒個(gè)去  
這篇文章主要給大家介紹了關(guān)于Laravel如何創(chuàng)建服務(wù)器提供者的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧

前言

Laravel服務(wù)器容器:是用于管理類依賴和執(zhí)行依賴注入的工具。下面我們演示下如何創(chuàng)建服務(wù)器提供者,它是Laravel的核心。話不多說了,來一起看看詳細(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ì)腳本之家的支持。

相關(guān)文章

  • ThinkPHP5中如何使用redis

    ThinkPHP5中如何使用redis

    這篇文章主要介紹了ThinkPHP5中如何使用redis問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • php實(shí)現(xiàn)每日簽到功能

    php實(shí)現(xiàn)每日簽到功能

    這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)每日簽到功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • ThinkPHP簡(jiǎn)單使用memcache緩存的方法

    ThinkPHP簡(jiǎn)單使用memcache緩存的方法

    這篇文章主要介紹了ThinkPHP簡(jiǎn)單使用memcache緩存的方法,結(jié)合實(shí)例形式分析了thinkPHP中memcache的簡(jiǎn)單配置與使用技巧,需要的朋友可以參考下
    2016-11-11
  • 詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    詳解PHP中strlen和mb_strlen函數(shù)的區(qū)別

    在PHP中,strlen與mb_strlen是求字符串長(zhǎng)度的函數(shù),但是對(duì)于一些初學(xué)者來說,如果不看手冊(cè),也許不太清楚其中的區(qū)別
    2014-03-03
  • 如何在PHP中生成隨機(jī)數(shù)

    如何在PHP中生成隨機(jī)數(shù)

    這篇文章主要介紹了如何在PHP中生成隨機(jī)數(shù),文中代碼非常詳細(xì),對(duì)大家的學(xué)習(xí)有很大幫助,感興趣的朋友可以參考下
    2020-06-06
  • PHP8.0新功能之Match表達(dá)式的使用

    PHP8.0新功能之Match表達(dá)式的使用

    這篇文章主要介紹了PHP8.0新功能之Match表達(dá)式的使用,文中通過示例代碼以及圖文介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 解決PHP使用CURL發(fā)送GET請(qǐng)求時(shí)傳遞參數(shù)的問題

    解決PHP使用CURL發(fā)送GET請(qǐng)求時(shí)傳遞參數(shù)的問題

    今天小編就為大家分享一篇解決PHP使用CURL發(fā)送GET請(qǐng)求時(shí)傳遞參數(shù)的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-10-10
  • Zend Framework教程之Zend_Config_Xml用法分析

    Zend Framework教程之Zend_Config_Xml用法分析

    這篇文章主要介紹了Zend Framework教程之Zend_Config_Xml用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了Zend_Config_Xml的功能,使用方法及相關(guān)注意事項(xiàng),需要的朋友可以參考下
    2016-03-03
  • thinkphp,onethink和thinkox中驗(yàn)證碼不顯示的解決方法分析

    thinkphp,onethink和thinkox中驗(yàn)證碼不顯示的解決方法分析

    這篇文章主要介紹了thinkphp,onethink和thinkox中驗(yàn)證碼不顯示的解決方法,簡(jiǎn)單分析了thinkPHP驗(yàn)證碼不顯示的原因與相應(yīng)的解決方法,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • CodeIgniter配置之a(chǎn)utoload.php自動(dòng)加載用法分析

    CodeIgniter配置之a(chǎn)utoload.php自動(dòng)加載用法分析

    這篇文章主要介紹了CodeIgniter配置之a(chǎn)utoload.php自動(dòng)加載用法,結(jié)合實(shí)例形式較為詳細(xì)的分析了CodeIgniter自動(dòng)加載機(jī)制的原理與使用方法,需要的朋友可以參考下
    2016-01-01

最新評(píng)論

万盛区| 淮北市| 成安县| 文成县| 米林县| 涟水县| 屯留县| 兴仁县| 大庆市| 德格县| 五峰| 萍乡市| 车致| 阿巴嘎旗| 门源| 桐梓县| 昌江| 塔城市| 陈巴尔虎旗| 社旗县| 贞丰县| 卓尼县| 彭阳县| 辰溪县| 克什克腾旗| 庆安县| 永清县| 潼南县| 泰州市| 托克逊县| 津市市| 光山县| 辽阳市| 黄骅市| 永福县| 神农架林区| 宁都县| 弥渡县| 永康市| 昔阳县| 广宁县|