這篇文章主要介紹了Laravel 載入第三方類庫的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
Laravel 版本:5.5
有很多第三方的類庫並沒有製作 Composer,而是還以 require 的方式進行載入。對於此類的類庫,我們只要小粒度的修改,就可以進行使用。我以極驗 geetest 和郵件服務 SendCloud 為例。
在 Laravel 架構中建立存放第三方的 SDK 目錄
mkdir app/Libraries
放置 geetest、SendCloud 的 SDK
官方下載後相關 SDK 後,移動到 app/Libraries 目錄下:
app/Libraries/sendcloud-php-sdkapp/Libraries/gt3-php-sdk
注意各自 SDK 目錄下是否存在 .git 目錄,如果存在的話,記得遞迴刪除掉 .git 目錄。是 SDK 目錄下的 .git 目錄,千萬不要刪除錯。
修改 composer.json 檔案
... "autoload": { "classmap": [ "database/seeds", "database/factories", "app/Libraries/sendcloud-php-sdk/lib", "app/Libraries/gt3-php-sdk" ], "psr-4": { "App\\": "app/" } },...
在 autoload -> classmap 下,增加了 app/Libraries/sendcloud-php-sdk/lib、app/Libraries/gt3-php-sdk。
執行 composer 命令
Laravel 項目中執行:
composer dump-autoload
這樣就完成了。
關於使用
例如在 Laravel 控制器中進行使用
$objSendCloud = new \SendCloud(API_USER, API_KEY[, VERSION]);$objGeetestLib = new \GeetestLib(CAPTCHA_ID, PRIVATE_KEY);