Skip to content

foglcz/JSONRpc2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PHP JSON-RPC client and server library

This library contains a PHP implementation of JSON-RPC version 2. This libraray implements both a client and a server.

Installation

Download the contents of the lib folder to your project. Then simply include the appropriate library:

include "lib/Server.php";
include "lib/Client.php";

Server example

$server = new Lightbulb\Json\Rpc2\Server;

// Add functions to the server object to make them callable remotely

// Built in PHP functions or user functions
$server->upper = 'strtoupper';
$server->getID = 'findUserID';

// Class based: All public methods in MyClass are exposed as user.method
$server->user = new MyClass;

// Receive and process any incoming RPC calls
$server->handle();

More information in advanced options docs.

Warning: Creation of dynamic property XYZ is deprecated

Newer PHPs warn about creating dynamic properties on classes. If you add class methods to your server you will need to add #[\AllowDynamicProperties] before the class definition to work around this error.

Client example

$url    = 'http://api.domain.com/endpoint';
$client = new Lightbulb\Json\Rpc2\Client($url);

$str = $client->upper("kitten");
$id  = $client->getID("Jason Doolis");

Client supports class chaining to call nested methods

$ok = $client->user->mail->login($user, $pass); // Maps to 'user.mail.login'

License

Licensed under the New BSD License. Copyright 2011 Pavel Ptacek. All rights reserved.

About

Generic JSON-RPC v2 implementation

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 6