1. Go to this page and download the library: Download knplabs/php-json-schema library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
knplabs / php-json-schema example snippets
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'firstName', // The name of the property
'Hold the first name of the user', // The description of the property
['John', 'Georges'], // Some examples of possible values
JsonSchema::string() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'content', // The name of the property
'The content of the article', // The description of the property
['Lorem ipsum...'], // Some examples of possible values
JsonSchema::text() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'age', // The name of the property
'Hold the age of the user', // The description of the property
[25, 30], // Some examples of possible values
JsonSchema::integer() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'age', // The name of the property
'Hold the age of the user', // The description of the property
[25, 30], // Some examples of possible values
JsonSchema::positiveInteger() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'price', // The name of the property
'The price in dollars', // The description of the property
[10.8, 30.0], // Some examples of possible values
JsonSchema::number() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'isAdult', // The name of the property
'Hold if the user is an adult', // The description of the property
[true, false], // Some examples of possible values
JsonSchema::boolean() // The type of the property
);
use KnpLabs\JsonSchema\JsonSchema;
$schema = JsonSchema::create(
'createdAt', // The name of the property
'The date of creation', // The description of the property
['2015-01-01', '2015-01-02'], // Some examples of possible values
JsonSchema::date() // The type of the property
);
namespace Acme;
use KnpLabs\JsonSchema\EnumSchema;
class RoleEnum extends EnumSchema
{
const ROLE_ADMIN = 'ROLE_ADMIN';
const ROLE_USER = 'ROLE_USER';
public function getTitle(): string
{
return 'Role enum';
}
public function getDescription(): string
{
return 'Enum of the possible roles';
}
public static function getEnum()
{
yield self::ROLE_ADMIN;
yield self::ROLE_USER;
}
}
namespace Acme;
use KnpLabs\JsonSchema\ObjectSchema;
/**
* @extends ObjectSchema<array{
* firstName: string,
* lastName: string,
* role: string,
* }>
*/
class PersonSchema extends ObjectSchema
{
public function __construct()
{
$this->addProperty(
'firstName',
JsonSchema::create(
'firstName',
'Hold the first name of the user',
['John', 'Georges'],
JsonSchema::string()
)
);
$this->addProperty(
'lastName',
JsonSchema::create(
'lastName',
'Hold the last name of the user',
['Doe', 'Smith'],
JsonSchema::string()
)
);
$this->addProperty('role', new RoleEnum());
}
}
namespace Acme;
use KnpLabs\JsonSchema\CollectionSchema;
class PersonCollectionSchema extends CollectionSchema
{
public function __construct()
{
parent::__construct(new PersonSchema());
}
public function getDescription(): string
{
return 'The list of all the persons';
}
}
bash
composer
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.