PHPackages                             yoanm/jsonrpc-params-symfony-constraint-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-params-symfony-constraint-doc-sdk

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

yoanm/jsonrpc-params-symfony-constraint-doc-sdk
===============================================

SDK to generate JSON-RPC documentation from symfony constraint

v2.0.1(8mo ago)036.1k↓21.1%[1 issues](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/issues)[3 PRs](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/pulls)1MITGherkinPHP ^8.0CI passing

Since Apr 19Pushed 4mo ago1 watchersCompare

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

READMEChangelog (10)Dependencies (11)Versions (20)Used By (1)

JSON-RPC params symfony constraint doc
======================================

[](#json-rpc-params-symfony-constraint-doc)

[![License](https://camo.githubusercontent.com/51c8cd73f8626abb7b90b88c592465d7a5c98f6ba6e4e27a28a6421d923ba402/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c6963656e73652f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk)[![Code size](https://camo.githubusercontent.com/e04c0de8aa694e51c75f1a3aea88559f564057e811c2630a63bcdcc3e5968f0c/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f6c616e6775616765732f636f64652d73697a652f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2e737667)](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk)[![Dependabot Status](https://camo.githubusercontent.com/400175e19e01922b652f2f54dbd93922eaccdf73d4c77fd4159fef3d2fea280d/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b)](https://camo.githubusercontent.com/400175e19e01922b652f2f54dbd93922eaccdf73d4c77fd4159fef3d2fea280d/68747470733a2f2f666c61742e62616467656e2e6e65742f6769746875622f646570656e6461626f742f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b)[![Last commit](https://camo.githubusercontent.com/74d477fdf8b8904ca3b46ae631e143ca771394d508b08fcedd6b19c70363126a/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b)](https://camo.githubusercontent.com/74d477fdf8b8904ca3b46ae631e143ca771394d508b08fcedd6b19c70363126a/68747470733a2f2f62616467656e2e6e65742f6769746875622f6c6173742d636f6d6d69742f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b)

[![Scrutinizer Build Status](https://camo.githubusercontent.com/31039d318202a2b67595f05d0a3d68d2a100580ce662e3fae368e7f58d1ac5ec/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f6275696c642f672f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2e7376673f6c6162656c3d5363727574696e697a6572266c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/build-status/master)[![Scrutinizer Code Quality](https://camo.githubusercontent.com/4eeb77245856518dec103727b13248e57b2ff0cbd70a6b9ed31233cdca706522/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2f6d61737465722e7376673f6c6f676f3d7363727574696e697a6572)](https://scrutinizer-ci.com/g/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/?branch=master)[![Codacy Badge](https://camo.githubusercontent.com/9fb44e29c9d4bd4ecd206541fbd305938a5a0dbcc15fdab5d1db97a7a24ce23a/68747470733a2f2f6170702e636f646163792e636f6d2f70726f6a6563742f62616467652f47726164652f3866333934323461646430343462343361373062646232333865326634386462)](https://www.codacy.com/gh/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/dashboard?utm_source=github.com&utm_medium=referral&utm_content=yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk&utm_campaign=Badge_Grade)

[![CI](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/actions/workflows/CI.yml/badge.svg?branch=master)](https://github.com/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk/actions/workflows/CI.yml)[![codecov](https://camo.githubusercontent.com/eee633cf6032eb5d61c22cce0bf21beb96d9fdb63319b834a4dd1b97f964fe1e/68747470733a2f2f636f6465636f762e696f2f67682f796f616e6d2f7068702d6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2f6272616e63682f6d61737465722f67726170682f62616467652e7376673f746f6b656e3d4e486477454255464b35)](https://codecov.io/gh/yoanm/php-jsonrpc-params-symfony-constraint-doc-sdk)[![Symfony Versions](https://camo.githubusercontent.com/a0f96454a73e2467cd8e9274759de603045720eb9f2e4770b01951d648720bc4/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f53796d666f6e792d76352e3425323025324625323076362e3425323025324625323076372e782d3838393242462e7376673f6c6f676f3d676974687562)](https://symfony.com/)

[![Latest Stable Version](https://camo.githubusercontent.com/48e118ed8475d8050e4ab3c001785350d61a5ab7e5678549f7183b12498c2a6b/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f796f616e6d2f6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-params-symfony-constraint-doc-sdk)[![Packagist PHP version](https://camo.githubusercontent.com/7fb12b5be850e900cab03c2abecb8680306a719887f35a51cb748af87ecd7bdb/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f7068702d762f796f616e6d2f6a736f6e7270632d706172616d732d73796d666f6e792d636f6e73747261696e742d646f632d73646b2e737667)](https://packagist.org/packages/yoanm/jsonrpc-params-symfony-constraint-doc-sdk)

PHP SDK to generate JSON-RPC documentation from symfony constraint

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

Versions
--------

[](#versions)

- Symfony v3/4 PHP &gt;=7.1 : `v0.x`
- Symfony v4/5 PHP &gt;=7.2 : `v1.0`
- Symfony v4.4/5.4/6.x PHP ^8.0 : `v1.1`
- Symfony v5.4/6.4/7.x PHP ^8.0 : `v2.0`

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

[](#how-to-use)

Create the transformer :

```
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\App\Helper\ConstraintPayloadDocHelper;
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\App\Helper\DocTypeHelper;
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\App\Helper\MinMaxHelper;
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\App\Helper\StringDocHelper;
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\App\Helper\TypeGuesser;
use Yoanm\JsonRpcParamsSymfonyConstraintDoc\Infra\Transformer\ConstraintToParamsDocTransformer;

$constraintPayloadDocHelper = new ConstraintPayloadDocHelper();

$transformer = new ConstraintToParamsDocTransformer(
  new DocTypeHelper(
    $constraintPayloadDocHelper,
    new TypeGuesser()
  ),
  new StringDocHelper(),
  new MinMaxHelper(),
  $constraintPayloadDocHelper
);
```

Then use it with single constraint or a list of :

```
use Symfony\Component\Validator\Constraints as ConstraintNS;
use Yoanm\JsonRpcServerDoc\Domain\Model\Type\ObjectDoc;
use Yoanm\JsonRpcServerDoc\Domain\Model\Type\StringDoc;

$constraint = new ConstraintNS\Collection([
  'a' => new ConstraintNS\Type('string'),
  'b' => new ConstraintNS\Type('integer'),
  'c' => new ConstraintNS\Type('bool')
]);

/** @var ObjectDoc $constraintDoc */
$constraintDoc = $transformer->transform($constraint);

/** @var StringDoc $constraintDoc2 */
$constraintDoc2 = $transformer->transformList([
  new ConstraintNS\Type('string'),
  new ConstraintNS\NotNull()
]);
```

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

[](#contributing)

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

###  Health Score

49

—

FairBetter than 95% of packages

Maintenance69

Regular maintenance activity

Popularity27

Limited adoption so far

Community13

Small or concentrated contributor base

Maturity73

Established project with proven stability

 Bus Factor1

Top contributor holds 93% 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 ~179 days

Recently: every ~221 days

Total

14

Last Release

257d ago

Major Versions

v0.2.1 → v1.0.02020-03-28

v1.1.2 → v2.0.02025-09-03

PHP version history (3 changes)v0.1.0PHP &gt;=7.1

v1.0.0PHP &gt;=7.2

v1.1.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 (53 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (3 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-rpcjsonrpc-server-doc-sdkphpsdksymfony-constraint

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

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

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

###  Alternatives

[phpro/soap-client

A general purpose SoapClient library

8885.6M46](/packages/phpro-soap-client)[cognesy/instructor-php

The complete AI toolkit for PHP: unified LLM API, structured outputs, agents, and coding agent control

310107.9k1](/packages/cognesy-instructor-php)[barryvdh/laravel-form-bridge

This packages integrates Symfony Form Component in Laravel.

163354.8k1](/packages/barryvdh-laravel-form-bridge)[jbtronics/settings-bundle

A symfony bundle to easily create typesafe, user-configurable settings for symfony applications

9546.7k2](/packages/jbtronics-settings-bundle)[pixelopen/cloudflare-turnstile-bundle

A simple package to help integrate Cloudflare Turnstile on Symfony.

31205.8k3](/packages/pixelopen-cloudflare-turnstile-bundle)[netgen/layouts-core

Netgen Layouts enables you to build and manage complex web pages in a simpler way and with less coding. This is the core of Netgen Layouts, its heart and soul.

3689.4k10](/packages/netgen-layouts-core)

PHPackages © 2026

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