Skip to content

sergeyfast/eazy-jsonrpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

eazy-jsonrpc

Latest Version Total Downloads

PHP JSON-RPC 2.0 Server/Client Implementation with Automatic Client Class Generation via SMD

Server

SMD Schema available via /server.php?smd

Public Namespace

  • Inherits your exposed class from BaseJsonRpcServer or create new BaseJsonRpcServer( $instance );
  • $server->Execute();

Multiple Namespaces

  • Create new BaseJsonRpcServer();
  • Call $server->RegisterInstance( $instance, $namespace ) as many times as you need
  • $server->Execute();

Client

  • Generate Client from SMD Schema from generator/ php JsonRpcClientGenerator.php <smd-file> <class-name>
  • Use it:
$client = <class-name>::GetInstance(<url>);

try {  
  $result = $client->Method(); 
} catch (BaseJsonRpcException $e) {
  // work with exception
}

Client with typed returns by rpcgen

  • Generate Client from SMD Schema with rpcgen and save it to RpcClient.php
  • Use it:
$client = RpcClient::GetInstance(<url>);

try {  
  $result = $client->Method(); 
} catch (BaseJsonRpcException $e) {
  // work with exception
}

Doc

  • cd generator
  • php SmdToSwaggerConverter.php 'http://eazyjsonrpc/tests/example-server.php?smd' eazyjsonrpc ../doc/swagger.json
  • open http://eazyjsonrpc/doc/