yocto / yoclib-jsonrpc
This yocLibrary enables your project to encode and decode JSON-RPC messages in PHP.
Installs: 6
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/yocto/yoclib-jsonrpc
Requires
- php: ^7.4||^8
- ext-json: *
Requires (Dev)
- phpunit/phpunit: ^7||^8||^9
This package is auto-updated.
Last update: 2025-09-21 14:27:37 UTC
README
This yocLibrary enables your project to encode and decode JSON-RPC messages in PHP.
Status
Installation
composer require yocto/yoclib-jsonrpc
Use
Serialization
use YOCLIB\JSONRPC\JSONRPCException; use YOCLIB\JSONRPC\Message; // Create request $message = Message::createRequest(123,'getInfo',['payments']); // Create notification $message = Message::createNotification('notificationEvent',['payed']); // Create response $message = Message::createResponse(123,['payments'=>['$10.12','$23.45','$12.34']]); $object = $message->toObject(); try{ $json = Message::encodeJSON($object); }catch(JSONRPCException $e){ //Handle encoding exception }
Deserialization
use YOCLIB\JSONRPC\JSONRPCException; use YOCLIB\JSONRPC\Message; $json = file_get_contents('php://input'); // Get request body try{ $object = Message::decodeJSON($json); }catch(JSONRPCException $e){ //Handle decoding exception } if(Message::isBatch($object)){ foreach($object AS $element){ try{ $message = Message::parse($element); }catch(JSONRPCException $e){ //Handle message exception } } }else{ try{ $message = Message::parse($object); }catch(JSONRPCException $e){ //Handle message exception } }