allansun / openapi-parser
A universal OpenAPI (Swagger) schema parser
Installs: 9 362
Dependents: 92
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 5
Open Issues: 6
Requires
- php: ^8.0
- ext-fileinfo: *
- ext-json: *
- phpdocumentor/reflection-docblock: ^5.2
- symfony/property-info: ^v5|^v6|^v7
- symfony/yaml: ^v5|^v6|^v7
Requires (Dev)
- phpunit/phpunit: ^10
README
A universal OpenAPI (V3) and Swagger (V2) schema parser that converts OpenAPI/Swagger files into PHP objects for programming use.
Installing
composer require-dev allansun/openapi-parser
Usage
This project is intended for development environments only. It does not generate or provide any code for runtime environments. To start
<?php use OpenAPI\Parser; $OpenAPI = Parser::parse('openapi.json');
The parser class will automatically detect input file type (JSON or YAML) and use correct parser (Swagger or OpenAPI) to parse the input.
Alternatively, you can call the correct parser directly.
<?php use OpenAPI\Parser\OpenAPIParser; $Parser = new OpenAPIParser(); $OpenAPI = $Parser->parse(json_decode(file_get_contents('openapi.json'), true));
Or to parse the legacy Swagger version
<?php use OpenAPI\Parser\SwaggerParser; $Parser = new SwaggerParser(); $Swagger = $Parser->parse(json_decode(file_get_contents('swagger.json'), true));
The result would be:
Contributing
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
Versioning
We use SemVer for versioning. For the versions available, see the tags on this repository.
Authors
- Allan Sun - Initial work - Allan Sun
See also the list of contributors who participated in this project.
License
This project is licensed under the MIT License - see the LICENSE.md file for details