返回格式
通过 yansongda/artful
调用任何方法最终只可能返回三种格式
\Psr\Http\Message\MessageInterface
\Yansongda\Supports\Collection
\Yansongda\Artful\Rocket
其中 \Psr\Http\Message\MessageInterface
最终 实例/接口 为
\GuzzleHttp\Psr7\Response
TIP
至于最终返回的到底是什么类型,和不同的方法而定
MessageInterface
\GuzzleHttp\Psr7\Response
Laravel 框架
laravel 框架中,自行安装 symfony/psr-http-message-bridge
即可支持返回相关响应数据
ThinkPHP 框架
ThinkPHP 框架在 https://github.com/top-think/framework/pull/2614 之后才支持 PSR7 规范,因此,之前的版本需要参考此 PR 自行解包进行处理返回数据
Collection
默认情况下,支付宝、微信所有 API 调用场景下绝大多数方法最终都返回的是 Collection
实例。 例如常用的「退款」「转账」「小程序支付」等。
Collection
类提供了常用的快捷方法,具体 API 可参考源代码 yansongda/supports
\Yansongda\Artful\Rocket
一般情况下,此类不会返回,如果您有自定义的需求,可以在入参时传递 _return_rocket = true
即可。
php
$params = [
'_return_rocket' => true,
];
Artful::config($config);
$rocket = Artful::{$provider}()->{$shortcut}($params);
array
API 调用场景下的返回类型,默认情况下均返回 Collection
实例。
如果想返回 array 类型的数据,只需要
php
$collection->toArray();
是不是很简单方便?