From d6e66f87afe8b86bb3ecaa6f2497ea4eefcd1573 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E9=93=AD=E6=98=95?= Date: Sat, 26 Oct 2019 16:03:37 +0800 Subject: [PATCH] Update wechat.md (#790) --- doc/zh/sdks/wechat.md | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/doc/zh/sdks/wechat.md b/doc/zh/sdks/wechat.md index d738d28fe..e48724ca0 100644 --- a/doc/zh/sdks/wechat.md +++ b/doc/zh/sdks/wechat.md @@ -51,3 +51,46 @@ AbstractProvider::setGuzzleOptions([ ! defined('SWOOLE_HOOK_FLAGS') && define('SWOOLE_HOOK_FLAGS', SWOOLE_HOOK_ALL | SWOOLE_HOOK_CURL); ``` + +## 如何使用 EasyWeChat + +`EasyWeChat` 是为 `PHP-FPM` 架构设计的,所以在某些地方需要修改下才能在 Hyperf 下使用。下面我们以支付回调为例进行讲解。 + +1. `EasyWeChat` 中自带了 `XML` 解析,所以我们获取到原始 `XML` 即可。 + +```php +$xml = $this->request->getBody()->getContents(); +``` + +2. 将 XML 数据放到 `EasyWeChat` 的 `Request` 中。 + +```php +request->getQueryParams(); +$post = $this->request->getParsedBody(); +$cookie = $this->request->getCookieParams(); +$files = $this->request->getUploadedFiles(); +$server = $this->request->getServerParams(); +$xml = $this->request->getBody()->getContents(); + +$app['request'] = new Request($get,$post,[],$cookie,$files,$server,$xml); + +// Do something... +``` + +## 如何替换缓存 + +`EasyWeChat` 默认使用 `文件缓存`,而现实场景是 `Redis` 缓存居多,所以这里可以替换成 `Hyperf` 提供的 `hyperf/cache` 缓存组件,如您当前没有安装该组件,请执行 `composer require hyperf/cache` 引入,使用示例如下: + +```php +get(CacheInterface::class); + +```