溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Laravel 5.4如何向IoC容器中添加自定義類

發(fā)布時(shí)間:2021-07-13 16:21:12 來源:億速云 閱讀:132 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)Laravel 5.4如何向IoC容器中添加自定義類的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。

IoC 容器

容器,字面上理解就是裝東西的東西。常見的變量、對象屬性等都可以算是容器。一個(gè)容器能夠裝什么,全部取決于你對該容器的定義。當(dāng)然,有這樣一種容器,它存放的不是文本、數(shù)值,而是對象、對象的描述(類、接口)或者是提供對象的回調(diào),通過這種容器,我們得以實(shí)現(xiàn)許多高級的功能,其中最常提到的,就是 “解耦” 、“依賴注入(DI)”。

IoC 容器 —— Laravel 的核心

Laravel 的核心就是一個(gè) IoC 容器,根據(jù)文檔,稱其為“服務(wù)容器”,顧名思義,該容器提供了整個(gè)框架中需要的一系列服務(wù)。作為初學(xué)者,很多人會(huì)在這一個(gè)概念上犯難,因此,我打算從一些基礎(chǔ)的內(nèi)容開始講解,通過理解面向?qū)ο箝_發(fā)中依賴的產(chǎn)生和解決方法,來逐漸揭開“依賴注入”的面紗,逐漸理解這一神奇的設(shè)計(jì)理念。

IoC容器添加自定義類

1、假設(shè)我們要建一個(gè)交易類,app/Trade/Sale.php

<?php
namespace App\Trade;
class Sale
{
public function exchange()
{
 dd('交易成功啦!');
}
}

2、在Providers目錄下創(chuàng)建一個(gè)服務(wù)提供者 TradeServiceProvider

php artisan make:provider TradeServiceProvider

3、然后在 TradeServiceProvider.php 的register方法中將我們的類進(jìn)行綁定

/**
 * Register the application services.
 *
 * @return void
 */
public function register()
{
 //
 $this->app->bind('trade',function(){
  return new Sale();
 });
}

4、接下來要去 config/app.php 下的providers數(shù)組中增加一行,

App\Providers\TradeServiceProvider::class,

5、然后在我們的路由中寫一個(gè)測試

Route::get('/',function (){
$trade = app('trade');
dd($trade->exchange());
}

輸出結(jié)果:交易成功啦!

6、至此我們就將我們自己的類添加到IoC 容器中了

感謝各位的閱讀!關(guān)于“Laravel 5.4如何向IoC容器中添加自定義類”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI