Open API 3.0 builder and validation library for PHP that helps you write valid specs.
This project is compliant with PSR-1, PSR-2 and PSR-4. If you notice compliance oversights, please send a patch via pull request.
- Fully documented object-oriented representation of the Open API 3.0+ specification with helper methods to write valid documents.
- Supports Illuminate (Laravel)
Jsonable
andArrayable
. - Generates an specification in plain PHP arrays, plain objects, JSON or YAML.
- Validates Open API documents against the Open API 3.0.x JSON Schema.
Via Composer
$ composer require erasys/openapi-php
Via Git
$ git clone https://github.com/erasys/openapi-php.git
Basic example:
<?php
use erasys\OpenApi\Spec\v3 as OASv3;
$doc = new OASv3\Document(
new OASv3\Info('My API', '1.0.0', 'My API description'),
[
'/foo/bar' => new OASv3\PathItem(
[
'get' => new OASv3\Operation(
[
'200' => new OASv3\Response('Successful response.'),
'default' => new OASv3\Response('Default error response.'),
]
),
]
),
]
);
$yaml = $doc->toYaml();
$json = $doc->toJson();
$arr = $doc->toArray();
$obj = $doc->toObject();
$ composer test
or
$ vendor/bin/phpunit
$ vendor/bin/phpcs
Please see CONTRIBUTING for details.
The MIT License (MIT). Please see License File for more information.