Skip to content

A SlimPHP middleware for generating swagger json documentation for use with Swagger UI

Notifications You must be signed in to change notification settings

schirinos/slagger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Slagger

A Slim PHP middleware for generating swagger json for use with Swagger UI. This middleware will automatically add swagger json endpoints for all your Swagger doc annotated classes. Uses Zircote Swagger-php to parse annotations.

Install Using Composer

{
    "require": {
        "scrumptious\slagger": "0.3.0"
    }
}

Usage

$app = new \Slim\Slim();

// Inject as Slim application middleware
$app->add(new \Slagger\Slagger('/api/v1/docs', __DIR__.'/../lib'));

\\ ... your app code

$app->run();

You'd then input the url http://yourapidomain.com/api/v1/docs in the Swagger-UI interface.

Slagger(docsuri, scandir, options)

The constructor takes up to three arguments.

####docsuri The uri in your app that will return swagger json.

####scandir The directory to scan for files with Swagger annotations.

####options [optional] Options passed through to the getResource function of the Zircote swagger-php library.

Annotations

The Zircote Swagger-php library will parse the Swagger annotations in your files. See the Swagger-php docs for what annotations are supported.

ex:

/**
 * @SWG\Resource(
 *     apiVersion="0.1",
 *     swaggerVersion="1.2",
 *     resourcePath="/journey",
 *     basePath="http://myapi.com/api/v1"
 * )
 */
class Journey extends CRUD {
	// ...
}

About

A SlimPHP middleware for generating swagger json documentation for use with Swagger UI

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages