欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Laravel 加载第三方类库的方法

程序员文章站 2022-06-12 21:38:29
laravel 版本:5.5 有很多第三方的类库并没有制作 composer,而是还以 require 的方式进行加载。对于此类的类库,我们只要小粒度的修改,就可以进行使...

laravel 版本:5.5

有很多第三方的类库并没有制作 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

这样就完成了。

关于使用

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

$objsendcloud = new \sendcloud(api_user, api_key[, version]);
$objgeetestlib = new \geetestlib(captcha_id, private_key);

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