Laravel 加载第三方类库的方法


Posted in PHP onApril 20, 2018

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);

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

PHP 相关文章推荐
PHP数字格式化
Dec 06 PHP
PHP 在5.1.* 和5.2.*之间 PDO数据库操作中的不同之处小结
Mar 07 PHP
解析array splice的移除数组中指定键的值,返回一个新的数组
Jul 02 PHP
解析数组非数字键名引号的必要性
Aug 09 PHP
PHP中include与require使用方法区别详解
Oct 19 PHP
php构造函数实例讲解
Nov 13 PHP
PHP中使用gettext解决国际化问题的例子(i18n)
Jun 13 PHP
PHP中比较时间大小实例
Aug 21 PHP
ThinkPHP中redirect用法分析
Dec 05 PHP
使用URL传输SESSION信息
Jul 14 PHP
PHP中cookie知识点学习
May 06 PHP
设定php简写功能的方法
Nov 28 PHP
PHP迭代器和迭代的实现与使用方法分析
Apr 19 #PHP
详解php curl带有csrf-token验证模拟提交方法
Apr 18 #PHP
php-app开发接口加密详解
Apr 18 #PHP
PHPMAILER实现PHP发邮件功能
Apr 18 #PHP
PHP实现数据库的增删查改功能及完整代码
Apr 18 #PHP
php无限级评论嵌套实现代码
Apr 18 #PHP
PHP实现负载均衡下的session共用功能
Apr 17 #PHP
You might like
PHP中一个控制字符串输出的函数
2006/10/09 PHP
php+ajax 文件上传代码实例
2019/03/18 PHP
游戏人文件夹程序 ver 3.0
2006/07/14 Javascript
开发跨浏览器javascript常见注意事项
2009/01/01 Javascript
动态样式类封装JS代码
2009/09/02 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
浅析js设置控件的readonly与enabled属性问题
2013/12/25 Javascript
JS中生成随机数的用法及相关函数
2016/01/09 Javascript
angularJS 如何读写缓冲的方法(推荐)
2016/08/06 Javascript
如何解决IONIC页面底部被遮住无法向上滚动问题
2016/09/06 Javascript
Bootstrap企业网站实战项目4
2016/10/14 Javascript
Vue.js实现列表清单的操作方法
2017/11/15 Javascript
vue学习笔记五:在vue项目里面使用引入公共方法详解
2019/04/04 Javascript
基于NodeJS开发钉钉回调接口实现AES-CBC加解密
2020/08/20 NodeJs
[01:06:25]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第一场 8.25
2018/08/29 DOTA
[46:21]Liquid vs LGD 2018国际邀请赛淘汰赛BO3 第一场 8.23
2018/08/24 DOTA
python smtplib模块自动收发邮件功能(二)
2018/05/22 Python
对Python中plt的画图函数详解
2018/11/07 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
这可能是最好玩的python GUI入门实例(推荐)
2019/07/19 Python
Python模拟登入的N种方式(建议收藏)
2020/05/31 Python
阿拉伯世界最大的电子卖场:Souq埃及
2016/08/01 全球购物
Wiggle美国:英国骑行、跑步、游泳、铁人三项商店
2018/10/27 全球购物
幼儿运动会邀请函
2014/01/17 职场文书
项目经理任命书
2014/06/04 职场文书
元旦联欢会策划方案
2014/06/11 职场文书
垃圾桶标语
2014/06/24 职场文书
创先争优个人承诺书
2014/08/30 职场文书
四风批评与自我批评发言稿
2014/10/14 职场文书
群众路线党员个人整改措施
2014/10/27 职场文书
2015年新农村建设工作总结
2015/05/22 职场文书
学生会副主席竞选稿
2015/11/19 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
python文件目录操作之os模块
2021/05/08 Python
go开发alertmanger实现钉钉报警
2021/07/16 Golang
Python Matplotlib绘制条形图的全过程
2021/10/24 Python