Skip to content

datto/php-json-rpc-simple

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 

JSON-RPC Simple Mapper

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.

Examples

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('...');

Requirements

  • PHP >= 5.3

Installation

"require": {
  "datto/json-rpc-simple": "~4.0"
}

License

This package is released under an open-source license: LGPL-3.0.

Author

Written by Philipp C. Heckel.

About

Request-to-class mapping extension for the JSON-RPC library

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages