在使用Laravel 开发的时候,经常会用composer 下载一些库用,常用的的一些库基本都有和Laravel 做整合的,例如之前说qrcode和excel 导出导入等都会有对应库!但总会有一些库没有整合Laravel的,例如最近用到一个库 cybersource-sdk-php (下载地址:https://github.com/CyberSource/cybersource-sdk-php)
我知道的应该是有两种方法的调用的
第一种是如果核心的文件少,可以在这些文件中都加上namespace,然后在controller 中使用use 来调用。但是这个方法比较麻烦,除了在每个文件中加上namespace,万一其中一个文件要继承PHP 的扩展,那就麻烦了,像这个
SoapClient 是PHP 的扩展 php_soap,直接extends,Laravel 肯定找不到!所以我就忽略这种方法了,这种方法应该比较适合自己写的库使用
第二种,就是直接require 调用,因为laravel 的路径问题,都测试了一点时间
require_once(base_path().'/vendor/cybersource/sdk-php/lib/CybsSoapClient.php');
引入后调用
$client = new \CybsSoapClient();
符号 \ 一定要添加,否则laravel 会找同级目录的class