如何在Thinkphp框架extends目录加入支付宝Api库
作为流行的PHP框架thinkphp被广泛应用在web网站服务程序开发中,尤其是最新版的thinkphp6.0,更轻量级,用作快速构建api接口类型服务,做移动端站点开发等都能起到其作为脚手架助手的作用;
Thinkphp通过composer导入第三方库,安装依赖包,用开源社区的代码变得规范和统一管理。然而支付宝的api,没有采用包依赖的方式,还是比较老的文件目录存放代码包,要在项目中调用这些api,通常采用include导入到PHP中;
因此,为了让支付宝的api也能采用namespace命名空间,import这样导入类库需要对支付宝API的文件做修改。
ThinkPHP除了用composer把第三包导入到vender目录外,还提供extend目录。此目录的类库文件,也能被php运行时加载。
下面来看看怎么改造支付宝的API文件,并放在extend目录下,实现动态加载类文件;
以支付宝API的支付交易查询类举例:
类文件在 aop/request/AlipayTradePagePayRequest.php中;
把整个aop目录文件放到 Thinkphp的extend/pay/aop目录里面;
在AlipayTradePagePayRequest.php中.php的顶部添加命名空间 namespace pay\aop\request;
然后再需要用到AlipayTradePagePayRequest类的地方
import aop/request/AlipayTradePagePayRequest;即可。
Thinkphp就能动态加载整个类文件了。
按照上面的办法,在支付宝API的aop里面的文件头部逐个加入 namespace命名空间; 这个命名空间的规则,是pay/aop/目录名,这样的格式,指向类文件相对extend的相对路径。
好了本文全部内容结束,感谢您的阅读,希望能帮助到您。