Skip to content
A php library to manipulate swagger specifications
PHP
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.settings
src
tests
.gitignore
.php_cs
.project
.travis.yml
LICENSE Initial commit Nov 30, 2015
README.md
composer.json
phpunit.xml.dist

README.md

swagger

License Latest Stable Version Total Downloads
HHVM Status Build Status Scrutinizer Code Quality Code Coverage

A php library to manipulate swagger/Open API specifications.

Installation

composer require gossi/swagger

Usage

Read an api.json file:

$swagger = Swagger::fromFile('api.json');

// or

$swagger = new Swagger($array);

Collections

There are two major collections: Paths and Definitions. The API is similar for both:

$paths = $swagger->getPaths();
$p = new Path('/user');

// adding
$paths->add($p);

// retrieving
if ($paths->has('/user') || $paths->contains($p)) {
	$path = $paths->get('/user');
}

// removing
$paths->remove('/user');

// iterating
foreach ($paths as $path) {
	// do sth with $path
}

Other collections are: Headers, Parameters, Responses and SecurityDefinitions.

Models

There are a lot of models, e.g. the mentioned Path above. The API is well written, so it works with the auto-completion of your IDE. It is straight forward and uses the same naming scheme as the OpenAPI specification.

Contributing

Feel free to fork and submit a pull request (don't forget the tests) and I am happy to merge.

You can’t perform that action at this time.