[TP3.2]轻量级远程调用jsonRPC模式(控制器扩展)
作者寄语:
json-rpc是基于json的跨语言远程调用协议,比xml-rpc、webservice等基于文本的协议传输数据格小;相对hessian、java-rpc等二进制协议便于调试、实现、扩展,是非常优秀的一种远程调用协议。目前主流语言都已有json-rpc的实现框架,java语言中较好的json-rpc实现框架有jsonrpc4j、jpoxy、json-rpc。
此版本是基于ThinkPHP3.2的控制器扩展模式。
此版本是基于ThinkPHP3.2的控制器扩展模式。
服务端示例:
<?php
namespace Rpc\Controller;
use Think\Controller\JsonRpcController;
class JsonApiController extends JsonRpcController
{
public function index(){
return 'Hello, JsonRPC!';
}
// 支持参数传入
public function test($name=''){
return "Hello, {$name}!";
}
}
客户端示例:vendor('jsonRPC.jsonRPCClient');
$client = new \jsonRPCClient('http://www.tp.cn/index.php/Rpc/JsonApi');
$result = $client->index();
var_dump($result); // 结果:Hello, JsonRPC!
$result = $client->test('deeka');
var_dump($result); // 结果:Hello, deeka!