Skip to content
A php swagger annotation and parsing library
Find file
New pull request
Latest commit 2912125 @bfanger bfanger Unittests now run successfully on PHP7
Used a workaround for [PHP bug 70733](


Build Status master

Generate interactive Swagger documentation for your RESTful API using doctrine annotations.


  • Compatible with the Swagger 2.0 specification.
  • Exceptional error reporting (with hints, context)
  • Extracts information from code & existing phpdoc annotations.
  • Command-line interface available.

Installation (with Composer)

composer require zircote/swagger-php

For cli usage from anywhere install swagger-php globally and make sure to place the ~/.composer/vendor/bin directory in your PATH so the swagger executable can be located by your system.

composer global require zircote/swagger-php


Add annotations to your php files.

 * @SWG\Info(title="My First API", version="0.1")

 * @SWG\Get(
 *     path="/api/resource.json",
 *     @SWG\Response(response="200", description="An example resource")
 * )

See the Examples directory for more.

Usage from php

Generate always-up-to-date the swagger documentation dynamicly.

$swagger = \Swagger\scan('/path/to/project');
header('Content-Type: application/json');
echo $swagger;

Usage from the Command Line Interface

Generate the swagger documentation to a static json file.

./vendor/bin/swagger --help

More on Swagger


Please feel free to submit Github Issues or pull requests. The documentation website resides within the gh-pages branch.

Bitdeli Badge

Something went wrong with that request. Please try again.