Laravel 加载第三方类库的方法

时间:2023-02-01 09:01:16

https://www.jb51.net/article/138530.htm

这篇文章主要介绍了Laravel 加载第三方类库的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

Laravel 版本:5.5

有很多第三方的类库并没有制作 Composer,而是还以 require 的方式进行加载。对于此类的类库,我们只要小粒度的修改,就可以进行使用。我以极验 geetest 和邮件服务 SendCloud 为例。

在 Laravel 框架中建立存放第三方的 SDK 目录

?
1
mkdir app /Libraries

放置 geetest、SendCloud 的 SDK

官方下载后相关 SDK 后,移动到 app/Libraries 目录下:

?
1
2
app/Libraries/sendcloud-php-sdk
app/Libraries/gt3-php-sdk

注意各自 SDK 目录下是否存在 .git 目录,如果存在的话,记得递归删除掉 .git 目录。是 SDK 目录下的 .git 目录,千万不要删除错。

修改 composer.json 文件

?
1
2
3
4
5
6
7
8
9
10
11
12
13
...
   "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 项目中执行:

?
1
composer dump-autoload

这样就完成了。

关于使用

例如在 Laravel 控制器中进行使用

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

好了,调用无误。完成!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。