dunglas / php-to-json-schema

Creates a JSON Schema from a PHP class

Home Page:https://dunglas.fr

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

PHP to JSON Schema

This library is deprecated, use API Platform JSON Schema instead.

Creates a JSON Schema from a PHP entity. Useful to ensure that a given JSON document will be deserialized properly in an object graph.

Build Status Scrutinizer Code Quality SensioLabsInsight

Installation

Use https://getcomposer.org to install the library:

composer require dunglas/php-to-json-schema

Usage

use Dunglas\PhpToJsonSchema\Generator;
use Symfony\Component\PropertyInfo\Extractor\ReflectionExtractor;
use Symfony\Component\PropertyInfo\PropertyInfoExtractor;

class MyClass
{
    private $foo;
    private $bar;

    public function setFoo(string $foo)
    {
        $this->foo = $foo;
    }

    public function setBar(float $bar = null)
    {
        $this->bar = $bar;
    }

    // ...
}


$reflectionExtractor = new ReflectionExtractor();
$propertyInfoExtractor = new PropertyInfoExtractor([$reflectionExtractor], [$reflectionExtractor], [], [$reflectionExtractor]);

$generator = new Generator($propertyInfoExtractor);
echo json_encode($generator->generate(MyClass::class));

Credits

Created by Kévin Dunglas.

About

Creates a JSON Schema from a PHP class

https://dunglas.fr

License:MIT License


Languages

Language:PHP 100.0%