zircote/swagger-php
swagger-php generates OpenAPI 3.0/3.1/3.2 documentation from your PHP 8.2+ code using attributes (preferred) or optional Doctrine annotations. Use it via CLI or programmatically, with helpful error reporting and a full documentation site.
This page is generated automatically from the swagger-php sources.
For improvements head over to GitHub and create a PR ;)
Processors are listed in the default order of execution.
The -c option allows to specify a name/value pair with the name consisting
of the processor name (starting lowercase) and option name separated by a dot (.).
> ./vendor/bin/openapi -c operatinId.hash=true // ...
> ./vendor/bin/openapi -c pathFilter.tags[]=/pets/ -c pathFilter.tags[]=/store/ // ...
Configuration can be set using the Generator::setConfig() method. Keys can either be the same
as on the command line or be broken down into nested arrays.
(new Generator())
->setConfig([
'operationId.hash' => true,
'pathFilter' => [
'tags' => [
'/pets/',
'/store/',
],
],
]);
Checks if the annotation has a summary and/or description property and uses the text in the comment block (above the annotations) as summary and/or description.
Use null, for example: @Annotation(description=null), if you don't want the annotation to have a description.
Merge all @OA\OpenApi annotations into one.
mergeIntoOpenApi.mergeComponents : bool default : false
If set to true, allow multiple [@OA](https://github.com/OA)\Components annotations to be merged.
Merge reusable annotation into @OA\Schemas.
Iterate over the chain of ancestors of a schema and:
Look at all (direct) interfaces for a schema and:
Look at all (direct) traits for a schema and:
Expands PHP enums.
Determines schema, enum and type.
expandEnums.enumNames : string default : null
Specifies the name of the extension variable where backed enum names will be stored. Set to null to avoid writing backed enum names. Example: ->setEnumNames('enumNames') yields:
x-enumNames:
- NAME1
- NAME2
expandEnums.generator : OpenApi\Generator default : N/A
No details available.
Use the Schema context to extract useful information and inject that into the annotation.
Merges properties.
Use the RequestBody context to extract useful information and inject that into the annotation.
augmentRequestBody.generator : OpenApi\Generator default : N/A
No details available.
Use the property context to extract useful information and inject that into the annotation.
augmentProperties.generator : OpenApi\Generator default : N/A
No details available.
Use the property context to extract useful information and inject that into the annotation.
Build the openapi->paths using the detected @OA\PathItem and @OA\Operation (@OA\Get, etc).
Augments shared and operations parameters from docblock comments.
augmentParameters.augmentOperationParameters : bool default : true
If set to true try to find operation parameter descriptions in the operation docblock.
augmentParameters.generator : OpenApi\Generator default : N/A
No details available.
Split JsonContent into Schema and MediaType.
Split XmlContent into Schema and MediaType.
Augment media type encodings.
Generate the OperationId based on the context of the OpenApi annotation.
operationId.hash : bool default : true
If set to true generate ids (md5) instead of clear text operation ids.
Allows to filter endpoints based on tags and/or path.
If no tags or paths filters are set, no filtering is performed.
All filter (regular) expressions must be enclosed within delimiter characters as they are used as-is.
pathFilter.tags : array default : []
A list of regular expressions to match tags to include.
pathFilter.paths : array default : []
A list of regular expressions to match paths to include.
pathFilter.recurseCleanup : bool default : false
Flag to do a recursive cleanup of unused paths and their nested annotations.
Tracks the use of all Components and removed unused schemas.
cleanUnusedComponents.enabled : bool default : false
Enables/disables the CleanUnusedComponents processor.
Ensures that all tags used on operations also exist in the global tags list.
augmentTags.whitelist : array default : []
Whitelist tags to keep even if not used. * may be used to keep all unused.
How can I help you explore Laravel packages today?