搜尋
首頁後端開發php教程詳解Laravel5.4如何在IoC容器中加入自訂類

詳解Laravel5.4如何在IoC容器中加入自訂類

Jan 03, 2018 pm 03:31 PM
laravel5.4容器添加

Laravel這個框架,用起來方便,理解起來不簡單。為什麼不簡單?因為包含了一大堆所謂「先進」的概念,其中依賴注入(DI)和Ioc容器是比較核心的內容之一。本文主要為大家介紹了Laravel 5.4在IoC容器中新增自訂類別的相關資料,需要的朋友可以參考下。希望對大家有幫助。

IoC 容器

容器,字面上就是要裝東西的東西。常見的變數、物件屬性等都可以算是容器。容器能夠裝什麼,全部取決於你對容器的定義。當然,有這樣一種容器,它存放的不是文字、數值,而是物件、物件的描述(類別、介面)或是提供物件的回調,透過這種容器,我們得以實現許多高階的功能,其中最常提到的,就是「解耦」 、「依賴注入(DI)」。

IoC 容器—— Laravel 的核心

Laravel 的核心就是一個IoC 容器,根據文檔,稱其為“服務容器”,顧名思義,該容器提供了整個框架中需要的一系列服務。作為初學者,很多人會在這一個概念上犯錯,因此,我打算從一些基礎的內容開始講解,透過理解物件導向開發中依賴的產生和解決方法,來逐漸揭開「依賴注入」的面紗,逐漸理解這神奇的設計理念。

本文將詳細介紹Laravel5.4向IoC容器添加自訂類別的相關內容,分享出來供大家參考學習,下面話不多說了,來一起看看詳細的介紹吧。

IoC容器加入自訂類別

1、假設我們要建立一個交易類,app/Trade/Sale.php

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

2、在Providers目錄下建立一個服務提供者TradeServiceProvider

php artisan make:provider TradeServiceProvider

3、然後在TradeServiceProvider.php 的register方法中將我們的類別進行綁定

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

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

App\Providers\TradeServiceProvider::class,

5、然後在我們的路由中寫一個測試

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

輸出結果:交易成功啦!

6、至此我們就將自己的類別加入IoC 容器了

相關推薦:

# #提升Laravel 5效能的一些實用技巧

Laravel Redis 多個行程同時取佇列問題

laravel寫APP介面(API)#

以上是詳解Laravel5.4如何在IoC容器中加入自訂類的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
unset()和session_destroy()有什麼區別?unset()和session_destroy()有什麼區別?May 04, 2025 am 12:19 AM

Thedifferencebetweenunset()andsession_destroy()isthatunset()clearsspecificsessionvariableswhilekeepingthesessionactive,whereassession_destroy()terminatestheentiresession.1)Useunset()toremovespecificsessionvariableswithoutaffectingthesession'soveralls

在負載平衡的情況下,什麼是粘性會話(會話親和力)?在負載平衡的情況下,什麼是粘性會話(會話親和力)?May 04, 2025 am 12:16 AM

stickysessensureuserRequestSarerOutedTothesMeServerForsessionDataConsisterency.1)sessionIdentificeAssificationAssigeaSsignAssignSignSuserServerServerSustersusiseCookiesorUrlModifications.2)一致的ententRoutingDirectSsssssubsequeSssubsequeSubsequestrequestSameSameserver.3)loadBellankingDisteributesNebutesneNewuserEreNevuseRe.3)

PHP中有哪些不同的會話保存處理程序?PHP中有哪些不同的會話保存處理程序?May 04, 2025 am 12:14 AM

phpoffersvarioussessionsionsavehandlers:1)文件:默認,簡單的ButMayBottLeneckonHigh-trafficsites.2)Memcached:高性能,Idealforsforspeed-Criticalapplications.3)REDIS:redis:similartomemememememcached,withddeddeddedpassistence.4)withddeddedpassistence.4)databases:gelifforcontrati forforcontrati,有用

PHP中的會話是什麼?為什麼使用它們?PHP中的會話是什麼?為什麼使用它們?May 04, 2025 am 12:12 AM

PHP中的session是用於在服務器端保存用戶數據以在多個請求之間保持狀態的機制。具體來說,1)session通過session_start()函數啟動,並通過$_SESSION超級全局數組存儲和讀取數據;2)session數據默認存儲在服務器的臨時文件中,但可通過數據庫或內存存儲優化;3)使用session可以實現用戶登錄狀態跟踪和購物車管理等功能;4)需要注意session的安全傳輸和性能優化,以確保應用的安全性和效率。

說明PHP會話的生命週期。說明PHP會話的生命週期。May 04, 2025 am 12:04 AM

PHPsessionsstartwithsession_start(),whichgeneratesauniqueIDandcreatesaserverfile;theypersistacrossrequestsandcanbemanuallyendedwithsession_destroy().1)Sessionsbeginwhensession_start()iscalled,creatingauniqueIDandserverfile.2)Theycontinueasdataisloade

絕對會話超時有什麼區別?絕對會話超時有什麼區別?May 03, 2025 am 12:21 AM

絕對會話超時從會話創建時開始計時,閒置會話超時則從用戶無操作時開始計時。絕對會話超時適用於需要嚴格控制會話生命週期的場景,如金融應用;閒置會話超時適合希望用戶長時間保持會話活躍的應用,如社交媒體。

如果會話在服務器上不起作用,您將採取什麼步驟?如果會話在服務器上不起作用,您將採取什麼步驟?May 03, 2025 am 12:19 AM

服務器會話失效可以通過以下步驟解決:1.檢查服務器配置,確保會話設置正確。 2.驗證客戶端cookies,確認瀏覽器支持並正確發送。 3.檢查會話存儲服務,如Redis,確保其正常運行。 4.審查應用代碼,確保會話邏輯正確。通過這些步驟,可以有效診斷和修復會話問題,提升用戶體驗。

session_start()函數的意義是什麼?session_start()函數的意義是什麼?May 03, 2025 am 12:18 AM

session_start()iscucialinphpformanagingusersessions.1)ItInitiateSanewsessionifnoneexists,2)resumesanexistingsessions,and3)setsasesessionCookieforContinuityActinuityAccontinuityAcconActInityAcconActInityAcconAccRequests,EnablingApplicationsApplicationsLikeUseAppericationLikeUseAthenticationalticationaltication and PersersonalizedContentent。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

將Eclipse與SAP NetWeaver應用伺服器整合。