thinkphp6 加载第三方类库_Thinkphp5实现加载第三方类库的方法

本文详细介绍了在ThinkPHP6中如何加载第三方类库,包括遵循命名空间规则在extend目录下创建类库,支持多级目录和子命名空间,以及自定义拓展目录的方法,并给出了具体代码示例。
摘要由CSDN通过智能技术生成

thinkphp5 很方便的加载我们自己的类库的。但是得严格按照他的规则来。强制我们使用命名空间。今天那么我精细的给大家讲讲该怎么加载。

1.首先 我们按照默认的方式进行加载

我们在他默认的拓展目录新建文件 如图所示

这里我新建一个lib1目录 那么我们的测试类库是Test1.php

该文件的代码如下<?php

/**

* Created by PhpStorm.

* User: lenovo

* Date: 2018/4/16

* Time: 16:40

*/

namespace lib1;

class Test1{

public function sh(){

return '我是test1
';

}

}

执行效果

说明一下:首先这个类的命名空间必须和该文件所在的子目录保持一致。这里是lib1  然后文件名必须和类名一致。

反例效果

执行情况

他还支持多级目录 和子命名空间定义,但是必须和目录结构对应

举个例子

我多级嵌套。。

文件代码

/**

* Created by PhpStorm.

* User: lenovo

* Date: 2018/4/16

* Time: 17:15

*/

namespace lib1\lib2;

class test2{

public function sh(){

return '我是test2
';

}

}

效果图

看到没

有些同学说 我不想把我的那个目录放在extend下 我想自己弄个,好吧 也行的。不过你需要改改。

但是我们需要先配置一下在index.php<?php

// +----------------------------------------------------------------------

// | ThinkPHP [ WE CAN DO IT JUST THINK ]

// +----------------------------------------------------------------------

// | Copyright (c) 2006-2016 http://thinkphp.cn All rights reserved.

// +----------------------------------------------------------------------

// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )

// +----------------------------------------------------------------------

// | Author: liu21st

// +----------------------------------------------------------------------

// [ 应用入口文件 ]

// 定义应用目录

define('APP_PATH', __DIR__ . '/../application/');

// 加载框架引导文件

//重新定义自己的拓展目录

$extend_path = str_replace('\\',DIRECTORY_SEPARATOR,dirname(__DIR__).DIRECTORY_SEPARATOR.'myextend'.DIRECTORY_SEPARATOR);

echo $extend_path;

define('EXTEND_PATH',$extend_path);

require __DIR__ . '/../thinkphp/start.php';

然后 我们目录结构

文件代码<?php

/**

* Created by PhpStorm.

* User: lenovo

* Date: 2018/4/16

* Time: 17:23

*/

namespace lib3;

class test3{

public function sh(){

return '我是test3
';

}

}

效果图

这样就ok 。

1,SDK简介 本SDK是基于ThinkPHP开发类库扩展,因此只能在ThinkPHP平台下使用(ThinkPHP版本要求2.0以上)。DEMO中用到了控制器分层,因此运行DEMO需使用ThinkPHP3.1.2版本。 2,目前支持的平台 目前可用登录平台为:腾讯QQ,腾讯微博,新浪微博,网易微博,人人网,360,豆瓣,Github,Google,MSN,点点,百度,开心网,搜狐。 3,包含的文件 ThinkSDK/ThinkOauth.class.php SDK基类,主要用于Oauth的认证,所有平台的SDK均需要继承此类 ThinkSDK/sdk/DiandianSDK.class.php (点点SDK) ThinkSDK/sdk/DoubanSDK.class.php (豆瓣SDK) ThinkSDK/sdk/GithubSDK.class.php (Github SDK) ThinkSDK/sdk/GoogleSDK.class.php (Google SDK) ThinkSDK/sdk/MsnSDK.class.php (MSN SDK) ThinkSDK/sdk/QqSDK.class.php (腾讯QQ SDK) ThinkSDK/sdk/RenrenSDK.class.php (人人网SDK) ThinkSDK/sdk/SinaSDK.class.php (新浪微博SDK) ThinkSDK/sdk/T163SDK.class.php (网易微博SDK) ThinkSDK/sdk/TencentSDK.class.php (腾讯微博SDK) ThinkSDK/sdk/X360SDK.class.php (360 SDK) ThinkSDK/sdk/BaiduSDK.class.php (百度SDK) ThinkSDK/sdk/KaixinSDK.class.php (开心网SDK) ThinkSDK/sdk/SohuSDK.class.php (搜狐SDK) 4,配置格式 SDK的配置格式如下(可参考DEMO中的配置) //将一下(TYPE)换成你对应的SDK类型 'THINK_SDK_(TYPE)' => array( 'APP_KEY' => '', //应用注册成功后分配的 APP ID 'APP_SECRET' => '', //应用注册成功后分配的KEY 'CALLBACK' => '', //注册应用填写的callback ) 5,接入登录方法 添加ThinkPHP扩展,将整个ThinkSDK目录放入到ThinkPHP的扩展目录下~Extend/Library/ORG/~。 添加SDK配置,按以上配置格式在项目配置中添加对应的SDK配置。(可参考DEMO中的配置文件) 跳转到授权页面,导入SDK基类import("ORG.ThinkSDK.ThinkOauth"),获取SDK实例$sdk=ThinkOauth::getInstance($type),跳转到授权页面redirect($sdk->getRequestCodeURL())。(可参考DEMO中的Index/login方法) 获取access_token,在授权成功的回调页面中,调用$sdk->getAccessToken($code, $extend)方法来获取access_token。(可参考DEMO中的Index/callback方法) 6,调用API方法 成功获取到access_token之后就可以调用相应平台的API了,调用方法比较简单,只需要调用$sdk->call($api, $param, $method)方法就可以了,其中:$api为接口名称,$param为接口参数(格式:name1=value1&name2=value2), $method为请求方法(GET或POST)。 例如: import("ORG.ThinkSDK.ThinkOauth"); //导入SDK基类 $qq = ThinkOauth::getInstance('qq', $token); //实例化腾讯QQ开放平台对象 $token 参数为授权成功后获取到的 $token $data = $qq->call('user/get_user_info'); //调用接口
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值