Download the PHP package spiral/json-schema-generator without Composer

On this page you can find all versions of the php package spiral/json-schema-generator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package json-schema-generator

JSON Schema Generator

PHP Version Require Latest Stable Version phpunit psalm Total Downloads psalm-level

The JSON Schema Generator is a PHP package that simplifies the generation of JSON schemas from Data Transfer Object (DTO) classes. It supports PHP enumerations and generic type annotations for arrays and provides an attribute for specifying title, description, and default value.

Main use case - structured output definition for LLMs.

Requirements

Make sure that your server is configured with the following PHP versions and extensions:

Installation

You can install the package via Composer:

Usage

To generate a schema for a DTO, instantiate the Spiral\JsonSchemaGenerator\Generator and call the generate method, passing the DTO class as an argument (fully qualified class name or reflection). The method will return an instance of Spiral\JsonSchemaGenerator\Schema.

Let's create a simple data transfer object:

This DTO has a releaseStatus, which is an enum. Let's create it:

Now, let's generate a schema for this DTO:

Note Additionally, the package provides the Spiral\JsonSchemaGenerator\GeneratorInterface, which can be integrated into your application's dependency container for further customization and flexibility.

The Spiral\JsonSchemaGenerator\Schema object implements the JsonSerializable interface, allowing easy conversion of the schema into either JSON or a PHP array.

Example array output:

Class properties can be arrays, and the type of elements within the array can be specified using PHPDoc annotations.

For example, we have a DTO with an array of objects:

In this example, we use a PHPDoc block to indicate that the property $movies contains an array of Movie objects.

Note Various documentation type annotations are supported, including @var array<Movie>, @var Movie[], and @var list<Movie>. For promoted properties, you can use annotations like @param array<Movie> $movies, @param Movie[] $movies, and @param list<Movie> $movies.

Now, let's generate a schema for this DTO:

Example array output:

Testing

Changelog

Please see CHANGELOG for more information on what has changed recently.

Contributing

Please see CONTRIBUTING for details.

License

The MIT License (MIT). Please see License File for more information.


All versions of json-schema-generator with dependencies

PHP Build Version
Package Version
Requires php Version >=8.1
symfony/property-info Version ^6.3 || ^7.0
phpstan/phpdoc-parser Version ^1.24
phpdocumentor/reflection-docblock Version ^5.3
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package spiral/json-schema-generator contains the following files

Loading the files please wait ....