当前位置:K88软件开发文章中心网站服务器框架ThinkPHP → 文章内容

RPC

减小字体 增大字体 作者:佚名  来源:网上搜集  发布时间:2019-1-26 15:35:23

支持,服务器端实现示例:namespace Home\Controller;use Think\Controller\JsonRpcController;class ServerController extends JsonRpcController { public function index(){ return 'Hello, JsonRPC!'; } // 支持参数传入 public function test($name=''){ return "Hello, {$name}!"; }}所有的public方法都可以用于远程调用,客户端调用方式如下:namespace Home\Controller;use Think\Controller;class IndexController extends Controller { public function index(){ vendor('jsonRPC.jsonRPCClient'); $client = new \jsonRPCClient('http://serverName/index.php/Home/Server'); $result = $client->index(); var_dump($result); // 结果:Hello, JsonRPC! $result = $client->test('ThinkPHP'); var_dump($result); // 结果:Hello, ThinkPHP! }}Yar支持Yar (yet another RPC framework) 是一个PHP扩展的RPC框架, 和现有的RPC框架(xml-rpc, soap)不同, 这是一个轻量级的框架, 支持多种打包协议(msgpack, json, php), 并且最重要的一个特点是, 它是可并行化的。要使用Yar支持首先需要安装Yar扩展,扩展下载地址: http://pecl.php.net/package/yarYar说明文档: http://hk2.php.net/manual/zh/book.yar.php安装好扩展后,使用ThinkPHP就可以开发服务器端,示例如下:namespace Home\Controller;use Think\Controller\YarController;class ServerController extends YarController { public function index(){ return 'Hello, Yar RPC!'; } public function hello($name=''){ return 'Hello, {$name}!'; }}Yar除了并行,还有一个亮点,通过GET方式可以查看到接口列表及注释。客户端调用示例如下:namespace Home\Controller;use Think\Controller;class IndexController extends Controller { public function index(){ $client = new \Yar_client('http://serverName/index.php/Home/Server'); $result = $client->index(); var_dump($result); // 结果:Hello, Yar! }}

上一页  [1] [2] 


RPC



  • ·上一篇文章:RESTFul
  • ·下一篇文章:SAE