吐槽一下支付宝 alipay-sdk- PHP

2017-03-18 15:09:50 +08:00
 littleylv

官方的 sdk

各种槽点。没法 composer ,没有命名空间,引用 lotusphp_runtime...

微信支付都有了 wxpay/WXPay-SDK-PHP (话说这个是官方的吧?)wxpay

求问大牛们:你们在一些使用命名空间的框架里是怎么优雅的使用官方的 alipay-sdk-PHP 的?

PS :虽然也有这种第三方修改过的版本 fishlab/alipay-sdk-php ,但不是官方的总不是很放心(不是针对该作者的意思,作者辛苦了),另外官方更新的话也不一定能及时更新。

蚂蚁金服是不是很少 php 程序猿了 0 0

16016 次点击
所在节点    PHP
32 条回复
lsido
2017-03-19 10:54:20 +08:00
阿里的 sdk 就这样
hiboshi
2017-03-19 14:27:46 +08:00
为什么一定要 composer ?为什么一定要命名空间?
不瞒你说我们公司还是 php5.2 每次看到命名空间就头疼没法使用它们的 sdk ,只能找对方要 5.2 的。
littleylv
2017-03-19 16:40:12 +08:00
@hiboshi 我觉得贵公司使用汇编更好 ^ ^
hiboshi
2017-03-19 17:28:19 +08:00
@littleylv 无法 get 到点,因为古老么其实现实中,很多代码 线上跑的没有问题 不去纠结版本问题。
littleylv
2017-03-19 17:40:22 +08:00
@hiboshi 你已经 get 到点了。
已经在线上跑的项目我个人也认为不好去纠结版本,但是我们不能排斥新事物是不是?
你不能否认 5.6 ( 7.0/7.1 )相比 5.2 的好处吧?
former
2017-03-20 09:36:46 +08:00
上周也被这个 SDK 折腾了,可以不用管 lotusphp 框架, lotusphp 框架主要就是自动加载类的作用,直接找 aop/request 里面的类文件,大约 500 多个,看你需求,如果单是支付查询退款操作,用到的也不多,参考文档集成到项目里面就好了。但是这样不利于日后更新维护,看你取舍了。
littleylv
2017-03-20 12:00:42 +08:00
@former 我打算不改动原有 SDK ,把包放到 vendors/alipay/alipay-sdk-php ,再用 composer.json 里的 classmap 属性
后面应该可以直接 use 命名空间?(还没实践过,按手册说的应该是可以)
Light3
2017-03-20 15:16:45 +08:00
想起了那个自动加载类和某文件冲突..然后我有次不知道什么鬼 demo 都跑不过..最后没办法求救那个客服 客服说我密钥生成错了..折腾一下午..
littleylv
2017-03-20 15:20:19 +08:00
经实践,最终我的做法是:
1 、在 vendors 下新建 alipay
2 、把 SDK 里的 aop 目录拷到 alipay 下(抛弃原来 SDK 目录下的 lotusphp_runtime 和 AopSdk.php )
3 、最终目录结构是 vendors/alipay/aop
4 、 composer.json 的 autoload 节点里加入:
```
"classmap": [
"vendor/alipay/aop"
]
```
5 、运行``composer dump-autoload``
6 、这样在项目里可以不用 require ,直接:
```
// 仅测试能使用命名空间,忽略参数设置吧。。。
$a = new \AopClient();
$b = new \AlipayAppTokenGetRequest();
$c = $a->execute($b);
```
littleylv
2017-03-20 15:21:53 +08:00
@littleylv #29 咦?不是支持 MD 语法么? ``` 的写法怎么不行? `` 的写法也不行?
bunny183
2017-03-20 21:12:56 +08:00
其实它只是给你一个示例代码而已。
mingyun
2017-04-22 19:47:07 +08:00
@littleylv 评论不支持 md

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/348451

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX