sergeyfast/eazy-jsonrpc

PHP JSON-RPC 2.0 Server/Client Implementation with SMD & Swagger support

v3.0.3 2021-11-16 13:33 UTC

This package is auto-updated.

Last update: 2024-10-16 20:16:03 UTC


README

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/