nanofelis / json-rpc-bundle
This bundle provides a JSON RPC 2.0 implementation for Symfony
Package info
github.com/nanofelis/NanofelisJsonRpcBundle
Type:symfony-bundle
pkg:composer/nanofelis/json-rpc-bundle
Requires
- php: >=8.4
- ext-json: *
- symfony/event-dispatcher: ^6.4|^7.0|^8.0
- symfony/framework-bundle: ^6.4|^7.0|^8.0
- symfony/property-access: ^6.4|^7.0|^8.0
- symfony/serializer: ^6.4|^7.0|^8.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.65
- phpstan/phpstan: ^1.12
- phpstan/phpstan-symfony: ^1.4
- phpunit/phpunit: ^11.5|^12.0
- symfony/browser-kit: ^6.4|^7.0|^8.0
- symfony/var-dumper: ^6.4|^7.0|^8.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
README
The NanofelisJsonRpcBundle is a symfony friendly implementation of the JSON-RPC 2.0 specification.
Requires PHP >= 8.4 and Symfony 6.4 / 7 / 8.
⚠️ Breaking changes
5.0.0 — all RPC services must use the #[JsonRpcService('serviceKey')] attribute; the
getServiceKey() method has been removed.
6.0.0 — raises the floor to PHP 8.4 and Symfony 6.4, restricts the callable
method surface to public non-magic methods, removes RpcBeforeMethodEvent in favour of Symfony's
kernel.controller_arguments, and returns one response per batch entry.
See the migration guide and CHANGELOG.md.
Installation
Make sure Composer is installed globally, as explained in the installation chapter of the Composer documentation.
Applications that use Symfony Flex
Open a command console, enter your project directory and execute:
composer require nanofelis/json-rpc-bundle
Applications that don't use Symfony Flex
Step 1: Download the Bundle
Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:
composer require nanofelis/json-rpc-bundle
Step 2: Enable the Bundle
Then, enable the bundle by adding it to the list of registered bundles
in the config/bundles.php file of your project:
// config/bundles.php return [ // ... Nanofelis\JsonRpcBundle\NanofelisJsonRpcBundle::class => ['all' => true], ];
Documentation
- 📘 Documentation (current): docs/index.md
- 📘 Documentation for 4.x and earlier (legacy): docs/v4/index.md
- 🔁 Upgrading between major versions: docs/migration.md