因为业务需要对接企业微信,准备使用Thinkphp6开发,直接使用企业微信官方接口。原计划在企业微信接口类文件中全部定义命名空间,但是并没有成功(因为文件在嵌套调用,可能是没有全部命名的原因)。
1.include和namespace
企业微信接口使用的include_once引用文件,如果在类文件中再加入namespace定义命名空间,在引用的时候会冲突,造成include不生效。(理解不一定正确)
一、命名空间失败后,为了尽快完成业务开发,采用include方式调用企业微信接口,将下载的weworkapi_php文件夹放到extend目录,在controller的类文件里引用路径如下:
include_once(__DIR__."/../../extend/weworkapi/api/src/CorpAPI.class.php");
include_once(__DIR__."/../../extend/weworkapi/api/src/ServiceCorpAPI.class.php");
include_once(__DIR__."/../../extend/weworkapi/api/src/ServiceProviderAPI.class.php");
二、因为是引用第三方类,tp实例化第三方没有命名空间的类,需要在前方加反斜线,例如创建消息对象如下所示:
$message = new \Message();
至此已经可以正常调用企业微信接口文档做测试了。
三、是否打印debug信息
在weworkapi_php根目录下的config.php文件可以配置是否打印debug信息,用于企业微信调试。