This is a request-to-class mapping extension for the php-json-rpc library. Its purpose is to eliminate the need to write manual mapping functions for API endpoints by providing an automatic mapping of the JSON-RPC method
and params
arguments to a matching PHP class, method and parameters.
First write an API end point:
<?php
namespace Datto\API;
class Math
{
public function subtract($a, $b)
{
return $a - $b;
}
}
Then use the API (with the default namespace Datto\API
):
// This will instantiate an object of the type `Datto\API\Math`,
// call the `subtract` method, and return a corresponding JSON-RPC response.
$server = new Server(new Simple\Evaluator());
echo $server->reply('{"jsonrpc": "2.0", "method": "math/subtract", "params": {"a": 3, "b": 2}, "id": 1}');
Or to use a custom root namespace (here: Datto\NodeAPI
):
$server = new Server(new Simple\Evaluator(new Simple\Mapper('Datto\\NodeAPI')));
echo $server->reply('...');
- PHP >= 5.3
"require": {
"datto/json-rpc-simple": "~4.0"
}
This package is released under an open-source license: LGPL-3.0.
Written by Philipp C. Heckel.