qfrpc / yarrpc
该软件包最新版本(2.2)没有可用的许可证信息。
关于使用API的软件包
2.2
2024-01-18 05:09 UTC
README
安装
- 推荐使用
composer进行安装。可以通过 composer.json 声明依赖,或者运行下面的命令。
$ composer require qfrpc/yarrpc
- 直接下载安装,但需要参照 composer 的自动加载器,增加自己的自动加载程序。
运行环境
为什么使用这个工具包?1. yar缺少权限验证,本工具包在构建和调用时就加入了密钥和签名验证,保证了RPC调用的安全性;2.RPC传递参数需要统一,本工具包提供了RPC请求体和响应体,减少请求参数、请求体的多样化,提高数据调试对接效率,增强了代码统一规范。
创建RPC服务 ... use QfRPC\YARRPC\QFRpcService; use QfRPC\YARRPC\Core\RpcResponse; ... $ak = '*** Provide your Access Key ***'; $sk = '*** Provide your Secret Key ***'; 示例demo类 class Demo { public function getTestPageList($params) { $list=[ ['id'=>1,'name'=>'test1'], ['id'=>2,'name'=>'test2'], ['id'=>3,'name'=>'test3'], ]; //构建rpc响应体 $res=(new RpcResponse())->setCode(200)->setMessage('success')->setData($params); return $res; } } $client=(new QFRpcService(Demo::class))//创建RPC服务类 ->allowItem('other1 Access Key','other1 Secret Key')//设置允许应用1的ak,sk ->allowItem('other2 Access Key','other2 Secret Key')//设置允许应用2的ak,sk ->run();//启动服务 ...
调用RPC服务 ... use QfRPC\YARRPC\QFRpcClient; ... $ak = '*** Provide your Access Key ***'; $sk = '*** Provide your Secret Key ***'; $endpoint = 'https://your-endpoint-uri'; 示例demo类 $client = (new QFRpcClient($ak, $sk)) ->withEndpoint($endpoint) ->newBuilder(); $params = $client::CreateRpcRequest() ->addItem('page_no', 1) ->addItem('page_size', 10); $list = $client->send('getTestPageList', $params); if ($list->getCode() == 200) { var_dump($list->getData()); } else { echo $list->getMessage(); }