PHPackages                             felixfbecker/advanced-json-rpc - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. felixfbecker/advanced-json-rpc

ActiveLibrary[API Development](/categories/api)

felixfbecker/advanced-json-rpc
==============================

A more advanced JSONRPC implementation

v3.2.1(4y ago)25578.7M—7.4%17[10 issues](https://github.com/felixfbecker/php-advanced-json-rpc/issues)[9 PRs](https://github.com/felixfbecker/php-advanced-json-rpc/pulls)6ISCPHPPHP ^7.1 || ^8.0

Since Aug 24Pushed 2y ago4 watchersCompare

[ Source](https://github.com/felixfbecker/php-advanced-json-rpc)[ Packagist](https://packagist.org/packages/felixfbecker/advanced-json-rpc)[ RSS](/packages/felixfbecker-advanced-json-rpc/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (3)Versions (36)Used By (6)

Advanced JSONRPC
================

[](#advanced-jsonrpc)

[![Version](https://camo.githubusercontent.com/09c4802a812eb133b186a266f5a6a4d1a772bd277cee9c6074ff8ad448f0ac05/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f66656c6978666265636b65722f616476616e6365642d6a736f6e2d7270632e737667)](https://packagist.org/packages/felixfbecker/advanced-json-rpc)[![Build Status](https://camo.githubusercontent.com/1914efdb5d304c07a069829943cb378b2e4d2fa529dd1bfaa58dda531a931a5b/68747470733a2f2f7472617669732d63692e6f72672f66656c6978666265636b65722f7068702d616476616e6365642d6a736f6e2d7270632e7376673f6272616e63683d6d6173746572)](https://travis-ci.org/felixfbecker/php-advanced-json-rpc)[![Coverage](https://camo.githubusercontent.com/5edb544acbcd4ee4aac5d27d6a8046e765b0436340f6ba323c7164e80b20f1c7/68747470733a2f2f636f6465636f762e696f2f67682f66656c6978666265636b65722f7068702d616476616e6365642d6a736f6e2d7270632f6272616e63682f6d61737465722f67726170682f62616467652e737667)](https://codecov.io/gh/felixfbecker/php-advanced-json-rpc)[![semantic-release](https://camo.githubusercontent.com/5f3b57745af83409bc673dec57e3eb360e1ec53b37ac29f81a319e347fa351c6/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f2532302532302546302539462539332541362546302539462539412538302d73656d616e7469632d2d72656c656173652d6531303037392e737667)](https://github.com/semantic-release/semantic-release)[![License](https://camo.githubusercontent.com/07699cf0efb056a47b5c290b0ba83237a2311b261a28e920b44951a1ec6d5829/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f66656c6978666265636b65722f616476616e6365642d6a736f6e2d7270632e737667)](https://github.com/felixfbecker/php-advanced-json-rpc/blob/master/LICENSE)

Provides basic classes for requests and responses in JSONRPC and a `Dispatcher` class that can decode a JSONRPC request and call appropriate methods on a target, coercing types of parameters by type-hints and `@param` tags.

Supports nested targets: If the method is something like `myNestedTarget->theMethod`, the dispatcher will look for a `myNestedTarget` property on the target and call `theMethod` on it. The delimiter is configurable and defaults to the PHP object operator `->`.

Example
-------

[](#example)

```
use AdvancedJsonRpc\Dispatcher;

class Argument
{
    public $aProperty;
}

class Target
{
    public function someMethod(Argument $arg)
    {
        // $arg instanceof Argument === true
        // $arg->aProperty === 123
        return 'Hello World';
    }
}

$dispatcher = new Dispatcher(new Target());

$result = $dispatcher->dispatch('
    {
        "jsonrpc": "2.0",
        "id": 1,
        "method": "someMethod",
        "params": {
            "arg": {"aProperty": 123}
        }
    }
');

// $result === "Hello World"
```

### Nested Targets

[](#nested-targets)

```
use AdvancedJsonRpc\Dispatcher;

class TextDocumentManager
{
    public function didOpen(string $uri)
    {
        return 'Thank you for this information';
    }
}

class LanguageServer
{
    public $textDocument;

    public function __construct()
    {
        $this->textDocument = new TextDocumentManager();
    }
}

$dispatcher = new Dispatcher(new LanguageServer(), '/');

$result = $dispatcher->dispatch('
    {
        "jsonrpc": "2.0",
        "id": 1,
        "method": "textDocument/didOpen",
        "params": {
            "uri": "file:///c/Users/felix/test.php"
        }
    }
');

// $result === "Thank you for this information"
```

###  Health Score

54

—

FairBetter than 97% of packages

Maintenance19

Infrequent updates — may be unmaintained

Popularity69

Solid adoption and visibility

Community29

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 74.5% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~67 days

Recently: every ~121 days

Total

27

Last Release

1802d ago

Major Versions

v1.2.10 → v2.0.02016-10-20

v2.0.3 → v3.0.02017-10-23

PHP version history (2 changes)v1.0.0PHP &gt;=7.0

v3.2.0PHP ^7.1 || ^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/38f960d58aa2944b51bdf6e5bf63f18322e2030b89aeaa92c12a71d783fbecee?d=identicon)[felixfbecker](/maintainers/felixfbecker)

---

Top Contributors

[![felixfbecker](https://avatars.githubusercontent.com/u/10532611?v=4)](https://github.com/felixfbecker "felixfbecker (41 commits)")[![TysonAndre](https://avatars.githubusercontent.com/u/1904430?v=4)](https://github.com/TysonAndre "TysonAndre (3 commits)")[![gnoe](https://avatars.githubusercontent.com/u/15986235?v=4)](https://github.com/gnoe "gnoe (1 commits)")[![JJK96](https://avatars.githubusercontent.com/u/11193274?v=4)](https://github.com/JJK96 "JJK96 (1 commits)")[![Lctrs](https://avatars.githubusercontent.com/u/5477973?v=4)](https://github.com/Lctrs "Lctrs (1 commits)")[![muglug](https://avatars.githubusercontent.com/u/2292638?v=4)](https://github.com/muglug "muglug (1 commits)")[![szepeviktor](https://avatars.githubusercontent.com/u/952007?v=4)](https://github.com/szepeviktor "szepeviktor (1 commits)")[![umesecke](https://avatars.githubusercontent.com/u/36171?v=4)](https://github.com/umesecke "umesecke (1 commits)")[![VincentLanglet](https://avatars.githubusercontent.com/u/9052536?v=4)](https://github.com/VincentLanglet "VincentLanglet (1 commits)")[![vinkla](https://avatars.githubusercontent.com/u/499192?v=4)](https://github.com/vinkla "vinkla (1 commits)")[![a-menshchikov](https://avatars.githubusercontent.com/u/2580489?v=4)](https://github.com/a-menshchikov "a-menshchikov (1 commits)")[![weirdan](https://avatars.githubusercontent.com/u/57403?v=4)](https://github.com/weirdan "weirdan (1 commits)")[![DannyvdSluijs](https://avatars.githubusercontent.com/u/618940?v=4)](https://github.com/DannyvdSluijs "DannyvdSluijs (1 commits)")

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/felixfbecker-advanced-json-rpc/health.svg)

```
[![Health](https://phpackages.com/badges/felixfbecker-advanced-json-rpc/health.svg)](https://phpackages.com/packages/felixfbecker-advanced-json-rpc)
```

###  Alternatives

[googleads/googleads-php-lib

Google Ad Manager SOAP API Client Library for PHP

67410.3M25](/packages/googleads-googleads-php-lib)[thecodingmachine/graphqlite

Write your GraphQL queries in simple to write controllers (using webonyx/graphql-php).

5723.1M30](/packages/thecodingmachine-graphqlite)[overblog/graphql-bundle

This bundle provides tools to build a GraphQL server in your Symfony App.

8027.9M28](/packages/overblog-graphql-bundle)[api-platform/api-pack

A pack for API Platform

5236.7M40](/packages/api-platform-api-pack)[dingo/blueprint

API Blueprint documentation generator.

2707.8M22](/packages/dingo-blueprint)[cloudconvert/cloudconvert-php

PHP SDK for CloudConvert APIs

2223.4M7](/packages/cloudconvert-cloudconvert-php)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
