PHP系列 | ThinkPHP5.1 如何自动加载第三方SDK(非composer包 )

注意:这里只是针对于非Composer 安装包的自动加载的实现,能用composer安装的自动跳过。

由于ThinkPHP5.1 严格遵循PSR-4规范,不再建议手动导入类库文件,所以新版取消了Loader::import方法以及import和vendor助手函数,推荐全面采用命名空间方式的类以及自动加载机制,如果必须使用请直接改为php内置的include或者require语法。

以下以钉钉官方的SDK为案例(由于钉钉官方没有像阿里云那样直接可以使用composer直接安装)。

当然Github有一个开源的composer安装包:https://github.com/mingyoung/dingtalk

你说你为啥不用这个,却要自定自动加载官方的包。因为这个PHP的版本必须是大于7.0,而针对于5.6则就不行了

1、官方SDK下载地址:https://ding-doc.dingtalk.com/doc#/faquestions/vzbp02

2、下载解压后,首先将第三方SDK复制到项目中vendor目录下。

3、在composer.json文件中添加:"files":["vendor/dingdingsdk/TopSdk.php"],添加后:

    "autoload": {
        "psr-4": {
            "app\\": "application",
            "scource\\": "scource"
        },
        "files":[
            "vendor/dingdingsdk/TopSdk.php"
        ]
    },

4、通过终端跳转到项目根目录,然后执行 composer dump-autoload 

5、然后在项目中就可以直接使用了

use DingTalkClient;
use DingTalkConstant;
use OapiGettokenRequest;

$appKey= 'dingt4lur7345435tiqnrp';
$appSecret= 'QWagw3j_R5J2fSK43KgRn_vtFFFFFFoooqLzOBDEwx8izfu-hrB';
$client = new DingTalkClient();
$req = new OapiGettokenRequest();
$resp = $client->executeWithAccessKey($req,null,$appKey,$appSecret);

 

扫描二维码关注公众号,回复: 9052656 查看本文章

猜你喜欢

转载自www.cnblogs.com/tinywan/p/12289962.html