From the JSON-RPC Spec:
"JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol. Primarily this specification defines several data structures and the rules around their processing. It is transport agnostic in that the concepts can be used within the same process, over sockets, over http, or in many various message passing environments. It uses JSON (RFC 4627) as data format. It is designed to be simple!"
Junior is JSON-RPC 2.0 viable and follows the JSON-RPC spec as of March 2012. It supports batching, named parameters, and notifications.
As of March 2012, Pearhub.org has been brought back from the dead and Junior is once again hosted there. Download Junior via Pear with the following commands:
$ pear channel-discover pearhub.org
$ pear install pearhub/junior
Include Junior.php in the base directory which will include all necessary files. Create a new instance of Junior\Client() and pass it the URI of the server you wish to communicate with. All communication through this instance. See the example folder for more details.
Include Junior.php in the base directory which will include all necessary files. Create a new instance of Junior\Server() and pass it an instance of the class you wish to expose for communication. Then call the process() function on your server instance and you are ready to go! See the example folder for more details.
Try out Jimson, written by Chris Kite for Ruby. It was made at the same time as Junior, and supports all the same features.
- PHP >= 5.3
Yes and as of February 2012 Junior has a robust, working test suite! The tests were written using Spray to stub stream wrappers and PHPUnit version 3.6.10. UPDATE: Junior is hooked into Travis CI as of March 2012.