注意:这里只是针对于非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);

钉钉调用案例 

1、获取access_token 令牌、创建部门

        $appKey= 'ding8l64ltuffd';
$appSecret= 'u2LQPxU_0l2Il3izeeeexx13fHgLB9Z28M5jyJwJV-JXlhH7KDd_slw2'; $client = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI,DingTalkConstant::$METHOD_GET,DingTalkConstant::$FORMAT_JSON);
$req = new OapiGettokenRequest();
$req->setAppkey($appKey);
$req->setAppsecret($appSecret);
$resp = $client->execute($req,null,'https://oapi.dingtalk.com/gettoken');
$accessToken = $resp->access_token; $client = new DingTalkClient(DingTalkConstant::$CALL_TYPE_OAPI,DingTalkConstant::$METHOD_POST,DingTalkConstant::$FORMAT_JSON);
$req = new OapiDepartmentCreateRequest();
$req->setName("Tinywan部门");
$req->setParentid('1');
$req->setCreateDeptGroup(true); // 创建一个关联此部门的企业群
$req->setOrder("100");
$req->setSourceIdentifier('group_001'); // 部门标识字段,开发者可用该字段来唯一标识一个部门,并与钉钉外部通讯录里的部门做映射
$result2 = $client->execute($req,$accessToken,'https://oapi.dingtalk.com/department/create');
halt($result2);

最新文章

  1. Python黑帽编程 3.5 DTP攻击
  2. Web应用安全十大主动安全措施
  3. UITabBarController的一些基础设置
  4. [Unity2D]鼠标(或触摸)输入处理
  5. iOS:开发者中心证书创建流程
  6. php 采用fpdf乱码问题
  7. Delphi 为什么它提示PCHAR是不安全的类型呢 Unsafe type 'PChar'
  8. [置顶] 【Git入门之十一】标签管理
  9. JMS和消息驱动Bean(MDB)
  10. Linux Kbuild工作原理分析(以DVSDK生成PowerVR显卡内核模块为例)
  11. 【转载】Stack Overflow: The Architecture - 2016 Edition
  12. eclipse新建workspace使用之前workspace的个性配置
  13. cronolog 对 tomcat 7 进行日志切割
  14. 给 endv 取个好名字有赏!
  15. 学习Spark——那些让你精疲力尽的坑
  16. B. An express train to reveries
  17. WeTest----如何使用WeTest进行App性能测试?
  18. 第二章 运算方法与运算器(浮点数的加减法,IEEE754标准32/64浮点规格化数)
  19. Codeforce 835A - Key races
  20. eclipse设置成保护眼的背景色

热门文章

  1. oracle11g数据库的安装
  2. php条件判断(9.29 第十五天)
  3. PL/SQL表结构/数据的导出
  4. 读书笔记 - js高级程序设计 - 第十一章 DOM扩展
  5. 洛谷 P2543 [AHOI2004]奇怪的字符串
  6. 使用模拟器调试react-native步骤(安卓机)
  7. UVA_12697 满足条件的最短连续和 线段树维护
  8. python中__str__与__repr__
  9. redis(三)----连接池配置
  10. ADC分辨率