PHPackages                             yoanm/jsonrpc-server-doc-sdk - 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. [Utility &amp; Helpers](/categories/utility)
4. /
5. yoanm/jsonrpc-server-doc-sdk

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

yoanm/jsonrpc-server-doc-sdk
============================

SDK to generate (Http) JSON-RPC server documentation

v1.0.4(8mo ago)069.8k↓26.7%[2 issues](https://github.com/yoanm/php-jsonrpc-server-doc-sdk/issues)[3 PRs](https://github.com/yoanm/php-jsonrpc-server-doc-sdk/pulls)10MITPHPPHP ^8.0CI passing

Since May 13Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/yoanm/php-jsonrpc-server-doc-sdk)[ Packagist](https://packagist.org/packages/yoanm/jsonrpc-server-doc-sdk)[ RSS](/packages/yoanm-jsonrpc-server-doc-sdk/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (7)Versions (18)Used By (10)

JSON-RPC server documentation
=============================

[](#json-rpc-server-documentation)

[![License](https://camo.githubusercontent.com/2aa78ff30f5a38d3eaab35b1375904b1106c53c91b8a8c716ecfd96f3b1c4c7c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-server-doc-sdk)[![Code size](https://camo.githubusercontent.com/b264ab5fa85e459e09614f2aab525b1cba4ad85a41a0e2f589a374bdd0bde090/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-server-doc-sdk)[![Dependabot Status](https://camo.githubusercontent.com/04f6317b20941184c8b09376b73046774192bdba6fd43556dd317773a04e16d7/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b)](https://camo.githubusercontent.com/04f6317b20941184c8b09376b73046774192bdba6fd43556dd317773a04e16d7/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b)[![Last commit](https://camo.githubusercontent.com/767e8f932f81eef652e9415f26f7eb8c752daccae3ef36e772776a2d284b89ac/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b)](https://camo.githubusercontent.com/767e8f932f81eef652e9415f26f7eb8c752daccae3ef36e772776a2d284b89ac/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b)

[![Scrutinizer Build Status](https://camo.githubusercontent.com/ba46a603b018e86791bf46a73ad5c59df07eb079834bcb7df26fa7a2521b8306/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f6275696c642f672f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b2e7376673f6c6162656c3d5363727574696e697a6572266c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/build-status/master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/9f5ec0134bc43a915f035960661f216feb96a9d5208621441a05acc684596a40/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b2f6d61737465722e7376673f6c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-server-doc-sdk/?branch=master)[![Codacy Badge](https://camo.githubusercontent.com/e5ac5b742987b7d7bf215f8ba2b39cf183141ba6eb84338fd0e3bba628ea50ab/68747470733a2f2f6170702e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f3230646434653438343939333432623261643430643663653465313764616632)](https://app.codacy.com/gh/yoanm/php-jsonrpc-server-doc-sdk/dashboard?utm_source=gh&utm_medium=referral&utm_content=&utm_campaign=Badge_grade)

[![CI](https://github.com/yoanm/php-jsonrpc-server-doc-sdk/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/yoanm/php-jsonrpc-server-doc-sdk/actions/workflows/CI.yml)[![codecov](https://camo.githubusercontent.com/e68f40eeb9c6fbe00fa28b60ebab87b286ef61c7d87fc51428118aa32a795b36/68747470733a2f2f636f6465636f762e696f2f67682f796f616e6d2f7068702d6a736f6e7270632d7365727665722d646f632d73646b2f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d4e486477454255464b35)](https://codecov.io/gh/yoanm/php-jsonrpc-server-doc-sdk)

[![Latest Stable Version](https://camo.githubusercontent.com/ad2847c427ccba049fa35bca1842e40c3e9024ee67d03b0cd9f0209a4db2fc27/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f616e6d2f6a736f6e7270632d7365727665722d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-server-doc-sdk)[![Packagist PHP version](https://camo.githubusercontent.com/03ac38b43c8674febbda992674b578d9a4faae555b594545da4dddd92a08a206/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f796f616e6d2f6a736f6e7270632d7365727665722d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-server-doc-sdk)

Php SDK to generate (Http) JSON-RPC server documentation

See [yoanm/symfony-jsonrpc-http-server-doc](https://github.com/yoanm/symfony-jsonrpc-http-server-doc) for automatic dependency injection.

See [yoanm/jsonrpc-params-symfony-constraint-doc-sdk](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk) for params documentation generation.

Availble formats
----------------

[](#availble-formats)

- Raw : Built-in `json` format
- Swagger : [yoanm/jsonrpc-http-server-swagger-doc-sdk](https://github.com/yoanm/php-jsonrpc-http-server-swagger-doc-sdk)
- OpenApi : [yoanm/jsonrpc-http-server-openapi-doc-sdk](https://github.com/yoanm/php-jsonrpc-http-server-openapi-doc-sdk)

How to use
----------

[](#how-to-use)

### Php objects

[](#php-objects)

Available documentation objects:

- [`ServerDoc`](./src/Domain/Model/ServerDoc.php) and [`HttpServerDoc`](./src/Domain/Model/HttpServerDoc.php) for HTTP server
- [`MethodDoc`](./src/Domain/Model/MethodDoc.php)
- [`ErrorDoc`](./src/Domain/Model/ErrorDoc.php)
- [`TagDoc`](./src/Domain/Model/TagDoc.php) : Allow to tag methods
- Types :
    - [`TypeDoc`](./src/Domain/Model/Type/TypeDoc.php) : Basic type
        - [`BooleanDoc`](./src/Domain/Model/Type/BooleanDoc.php)
        - [`ScalarDoc`](./src/Domain/Model/Type/ScalarDoc.php)
            - [`StringDoc`](./src/Domain/Model/Type/StringDoc.php)
            - [`NumberDoc`](./src/Domain/Model/Type/NumberDoc.php)
                - [`IntegerDoc`](./src/Domain/Model/Type/IntegerDoc.php)
                - [`FloatDoc`](./src/Domain/Model/Type/FloatDoc.php)
        - [`CollectionDoc`](./src/Domain/Model/Type/CollectionDoc.php)
            - [`ArrayDoc`](./src/Domain/Model/Type/ArrayDoc.php)
            - [`ObjectDoc`](./src/Domain/Model/Type/ObjectDoc.php)

### Normalizers

[](#normalizers)

Available normalizers :

- [`TypeDocNormalizer`](./src/Infra/Normalizer/TypeDocNormalizer.php)```
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\TypeDocNormalizer;

    $typeDocNormalizer = new TypeDocNormalizer();
    ```
- [`TagDocNormalizer`](./src/Infra/Normalizer/TagDocNormalizer.php)```
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\TagDocNormalizer;

    $tagDocNormalizer = new TagDocNormalizer();
    ```
- [`ErrorDocNormalizer`](./src/Infra/Normalizer/ErrorDocNormalizer.php)```
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\MethodDocNormalizer;

    $errorDocNormalizer = new ErrorDocNormalizer($typeDocNormalizer);
    ```
- [`MethodDocNormalizer`](./src/Infra/Normalizer/MethodDocNormalizer.php)```
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\MethodDocNormalizer;

    $tagDocNormalizer = new MethodDocNormalizer(
      $typeDocNormalizer,
      $errorDocNormalizer
    );
    ```
- [`ServerDocNormalizer`](./src/Infra/Normalizer/ServerDocNormalizer.php) and [`HttpServerDocNormalizer`](./src/Infra/Normalizer/HttpServerDocNormalizer.php) for HTTP server ```
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\ServerDocNormalizer;
    use Yoanm\JsonRpcServerDoc\Infra\Normalizer\HttpServerDocNormalizer;

    $normalizer = new ServerDocNormalizer(
      $methodDocNormalizer,
      $tagDocNormalizer,
      $errorDocNormalizer
    );

    $httpNormalizer = new HttpServerDocNormalizer($normalizer);
    ```

Contributing
------------

[](#contributing)

See [contributing note](./CONTRIBUTING.md)

###  Health Score

52

—

FairBetter than 96% of packages

Maintenance69

Regular maintenance activity

Popularity29

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity77

Established project with proven stability

 Bus Factor1

Top contributor holds 88.6% 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 ~266 days

Recently: every ~221 days

Total

11

Last Release

257d ago

Major Versions

v0.3.0 → v1.0.02023-04-02

PHP version history (4 changes)v0.0.1-alphaPHP &gt;=7.0

v0.1.0PHP &gt;=7.1

v0.3.0PHP ^7.4 || ^8.0 || ^8.1

v1.0.0PHP ^8.0

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/4410697?v=4)[yoanm](/maintainers/yoanm)[@yoanm](https://github.com/yoanm)

---

Top Contributors

[![yoanm](https://avatars.githubusercontent.com/u/4410697?v=4)](https://github.com/yoanm "yoanm (39 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (4 commits)")[![dependabot-preview[bot]](https://avatars.githubusercontent.com/in/2141?v=4)](https://github.com/dependabot-preview[bot] "dependabot-preview[bot] (1 commits)")

---

Tags

documentation-generatorjson-rpcphpsdk

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/yoanm-jsonrpc-server-doc-sdk/health.svg)

```
[![Health](https://phpackages.com/badges/yoanm-jsonrpc-server-doc-sdk/health.svg)](https://phpackages.com/packages/yoanm-jsonrpc-server-doc-sdk)
```

###  Alternatives

[johndoh/globaladdressbook

Adds global address books to Roundcube

706.0k](/packages/johndoh-globaladdressbook)

PHPackages © 2026

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