Swagger-PHP v3.x

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

Get Started →

OpenAPI specification

Compatible with the OpenAPI Specification version 3. formerly known as Swagger.

Use @Annotations

Write the documentation inside the php source files which helps to keep the documentation in sync.

Useful error messages

Enhanced errors messages with hints and context.

Install with composer:

composer require zircote/swagger-php

Create a php file:

<?php
require("vendor/autoload.php");
$openapi = \OpenApi\scan('/path/to/project');
header('Content-Type: application/x-yaml');
echo $openapi->toYaml();

Add annotations to your php files.

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

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

And view and interact with your API using Swagger UI