Laravel 加載第三方類庫的方法


有很多第三方的類庫並沒有制作 Composer,而是還以 require 的方式進行加載。對於此類的類庫,我們只要小粒度的修改,就可以進行使用。我以極驗 geetest 和郵件服務 SendCloud 為例。

在 Laravel 框架中建立存放第三方的 SDK 目錄
   
mkdir app/Libraries

放置 geetest、SendCloud 的 SDK

官方下載后相關 SDK 后,移動到 app/Libraries 目錄下:
   
app/Libraries/sendcloud-php-sdk
app/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

這樣就完成了

就用方法

$objSendCloud = new \SendCloud(API_USER, API_KEY[, VERSION]);
$objGeetestLib = new \GeetestLib(CAPTCHA_ID, PRIVATE_KEY);

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM