maxbeckers / google-actions-php
这个库是PHP用于Google Actions的辅助库。
0.1.0
2017-08-07 18:25 UTC
Requires
- php: >=7.0
Requires (Dev)
- phpunit/phpunit: ^6.2
This package is auto-updated.
Last update: 2024-09-25 11:18:42 UTC
README
这个库是PHP用于Google Actions的辅助库。
通过composer安装
使用composer安装此包
composer require maxbeckers/google-actions-php
用法
处理请求
- 将请求数据映射到请求对象
- 验证请求
- 处理请求数据
- 创建响应
- 发送响应
将请求数据映射到请求对象
将所需的请求头和请求体映射到 Request
。
use MaxBeckers\GoogleActions\Request\Request; ... $requestBody = file_get_contents('php://input'); $googleRequest = Request::fromGoogleRequest($requestBody);
验证请求
RequestValidator
将处理Google请求验证。
use MaxBeckers\GoogleActions\Validation\RequestValidator; ... $validator = new RequestValidator(); $validator->validate($googleRequest);
注册请求处理器
对于不同的请求,创建不同的RequestHandlers很有帮助。
use MaxBeckers\GoogleActions\RequestHandler\RequestHandlerRegistry; ... $requestHandlerRegistry = new RequestHandlerRegistry(); $requestHandlerRegistry->addHandler($myRequestHandler);
使用注册表处理请求
use MaxBeckers\GoogleActions\RequestHandler\RequestHandlerRegistry; ... $requestHandler = $requestHandlerRegistry->getSupportingHandler($googleRequest); $response = $requestHandler->handleRequest($googleRequest);
渲染响应
header('Content-Type: application/json'); echo json_encode($response); exit();
创建新的请求处理器
新的请求处理器必须扩展 AbstractRequestHandler
。首先实现抽象的 supportsRequest
-方法。
public function supportsRequest(Request $request): bool { return true; // check request data }
然后实现 handleRequest
-方法。对于简单的响应,有一个 ResponseHelper
。
use MaxBeckers\GoogleActions\Helper\ResponseHelper; ... /** @var ResponseHelper */ private $responseHelper; ... public function handleRequest(Request $request): Response { // todo set needed response data return $responseHelper->respond('Success :)'); }