Skip to content

shawnrc/php-json-rpc

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

JSON-RPC for PHP

Overview

This package allows you to create and evaluate JSON-RPC messages, using your own PHP code to evaluate the requests.

This package simply abstracts away the details of the JSON-RPC messaging format. It does not provide a transportation layer:

  • If you need to send messages over HTTP(S), then you should use the php-json-rpc-http package instead.
  • If you need to send messages over SSH, then you should use the php-json-rpc-ssh package.

Features

  • Correct: fully compliant with the JSON-RPC 2.0 specifications (100% unit-test coverage)
  • Flexible: you can use your own code to evaluate the JSON-RPC method strings
  • Minimalistic: extremely lightweight
  • Ready to use, with working examples

Examples

Client

$client = new Client();

$client->query(1, 'add', array(1, 2));

$message = $client->encode(); // {"jsonrpc":"2.0","id":1,"method":"add","params":[1,2]}

Server

$api = new Api();

$server = new Server($api);

$reply = $server->reply($message); // {"jsonrpc":"2.0","id":1,"result":3}

See the "examples" folder for the full examples.

Requirements

  • PHP >= 5.3

License

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

Installation

If you're using Composer, you can use this package (datto/json-rpc) by inserting a line into the "require" section of your "composer.json" file:

        "datto/json-rpc": "~3.0"

Getting started

  1. Try the examples. You can run the examples from the project directory like this:

    php examples/client.php
    php examples/server.php
    
  2. Take a look at the code "examples/src"—then replace it with your own!

Unit tests

You can run the suite of unit tests from the project directory like this:

./vendor/bin/phpunit

Author

Spencer Mortensen

About

Fully unit-tested JSON-RPC 2.0 for PHP

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • PHP 100.0%