Laravel 加载第三方类库的方法
Laravel版本:5.5
有很多第三方的类库并没有制作Composer,而是还以require的方式进行加载。对于此类的类库,我们只要小粒度的修改,就可以进行使用。我以极验geetest和邮件服务SendCloud为例。
在Laravel框架中建立存放第三方的SDK目录
mkdirapp/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项目中执行:
composerdump-autoload
这样就完成了。
关于使用
例如在Laravel控制器中进行使用
$objSendCloud=new\SendCloud(API_USER,API_KEY[,VERSION]); $objGeetestLib=new\GeetestLib(CAPTCHA_ID,PRIVATE_KEY);
好了,调用无误。完成!以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。