laravel加载本地sdk
通常调取第三方接口时 如银行等不对外开放的接口时 提供的sdk通常都是需要手动引入到项目中
1.首先把项目放入到一个自定义的目录文件中 如项目根目录下自行创建的Lib目录
2.其次bocom目录中需要存在composer.json
文件
请注意目录结构是Lib/bocom/sdk/composer.json
{
"name": "bocom/sdk", #可手动创建
"version": "0.0.1", #可手动指定
"require": {
"ext-openssl": "*",
"ext-iconv": "*",
"ext-mbstring": "*",
"ext-mcrypt": "*",
"ext-json": "*",
"ext-curl": "*"
}
}
3.需要再项目根目录加入以下代码
"require" :[
...
"bocom/sdk": "0.0.1"
]
"repositories": [
{
"description": "银行",
"type": "path",
"url": "Lib/bocom/sdk"
}
]
如果sdk使用require_once引入的方式
想要在项目实现use引入sdk需要在项目composer.json配置
**特别注意 如果后期sdk需要替换或者不确定因素不介意使用namespace sdk文件过多后期替换版本时回很麻烦 **
4.配置psr4命名规则
"autoload": {
"psr-4": {
"App\\": "app/",
"Database\\Factories\\": "database/factories/",
"Database\\Seeders\\": "database/seeders/",
"SDK\\Client\\": "Lib/bocom/sdk/" #SDK\\Client即是后期命名namespace的规则 Lib/bocom/sdk/即是真实代替sdk存放的路径
}
},
5.最后执行composer update