微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Laravel 加载第三方类库的方法

Laravel 版本:5.5

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

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

rush:bash;"> mkdir app/Libraries

放置 geetest、SendCloud 的 SDK

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

rush:plain;"> app/Libraries/sendcloud-PHP-sdk app/Libraries/gt3-PHP-sdk

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

修改 composer.json 文件

rush:js;"> ... "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 项目中执行:

rush:plain;"> composer dump-autoload

这样就完成了。

关于使用

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

rush:PHP;"> $objSendCloud = new \SendCloud(API_USER,API_KEY[,VERSION]); $objGeetestLib = new \GeetestLib(CAPTCHA_ID,PRIVATE_KEY);

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。