The openapi annotation base class.
- Full name:
\OpenApi\Annotations\Xml
- Parent class:
\OpenApi\Annotations\AbstractAnnotation
Replaces the name of the element/attribute used for the described schema property. When defined within the Items Object (items), it will affect the name of the individual XML elements within the list. When defined alongside type being array (outside the items), it will affect the wrapping element and only if wrapped is true. If wrapped is false, it will be ignored.
public string $name
The URL of the namespace definition. Value SHOULD be in the form of a URL.
public string $namespace
The prefix to be used for the name.
public string $prefix
Declares whether the property definition translates to an attribute instead of an element. Default value is false.
public bool $attribute
MAY be used only for an array definition. Signifies whether the array is wrapped (for example, ) or unwrapped (). Default value is false. The definition takes effect only when defined alongside type being array (outside the items).
public bool $wrapped
Specify the type of the property.
public static array $_types
- This property is static.
Reverse mapping of $_nested with the allowed parent annotations.
public static string[] $_parents
- This property is static.
Declarative mapping of Annotation types to properties.
public static array $_nested
- This property is static.
public __construct(array $properties): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$properties |
array |
public __get(mixed $property): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$property |
mixed |
public __set(mixed $property, mixed $value): mixed
Parameters:
Parameter | Type | Description |
---|---|---|
$property |
mixed | |
$value |
mixed |
Merge given annotations to their mapped properties configured in static::$_nested.
public merge(\OpenApi\Annotations\AbstractAnnotation[] $annotations, bool $ignore = false): \OpenApi\Annotations\AbstractAnnotation[]
Annotations that couldn't be merged are added to the _unmerged array.
Parameters:
Parameter | Type | Description |
---|---|---|
$annotations |
\OpenApi\Annotations\AbstractAnnotation[] | |
$ignore |
bool | Ignore unmerged annotations |
Return Value:
The unmerged annotations
Merge the properties from the given object into this annotation.
public mergeProperties(object $object): void
Prevents overwriting properties that are already configured.
Parameters:
Parameter | Type | Description |
---|---|---|
$object |
object |
Generate the documentation in YAML format.
public toYaml(mixed $flags = null): string
Parameters:
Parameter | Type | Description |
---|---|---|
$flags |
mixed |
Generate the documentation in YAML format.
public toJson(mixed $flags = null): string
Parameters:
Parameter | Type | Description |
---|---|---|
$flags |
mixed |
public __debugInfo(): mixed
Customize the way json_encode() renders the annotations.
public jsonSerialize(): mixed
Validate annotation tree, and log notices & warnings.
public validate(array $parents = [], array $skip = [], string $ref = ''): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$parents |
array | the path of annotations above this annotation in the tree |
$skip |
array | (prevent stack overflow, when traversing an infinite dependency graph) |
$ref |
string |
Recursively validate all annotation properties.
private static _validate(array|object $fields, array $parents, array $skip, string $baseRef): bool
- This method is static.
Parameters:
Parameter | Type | Description |
---|---|---|
$fields |
array|object | |
$parents |
array | the path of annotations above this annotation in the tree |
$skip |
array | List of objects already validated |
$baseRef |
string |
Return a identity for easy debugging.
public identity(): string
Example: "@OA\Get(path="/pets")".
An annotation is a root if it is the top-level / outermost annotation in a PHP docblock.
public isRoot(): bool
Find matching nested details.
public static matchNested(string $class): null|object
- This method is static.
Parameters:
Parameter | Type | Description |
---|---|---|
$class |
string | the class to match |
Return Value:
key/value object or null
Helper for generating the identity().
protected _identity(array $properties): string
Parameters:
Parameter | Type | Description |
---|---|---|
$properties |
array |
Validates the matching of the property value to a annotation type.
private validateType(string $type, mixed $value): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$type |
string | The annotations property type |
$value |
mixed | The property value |
Validates default Open Api types.
private validateDefaultTypes(string $type, mixed $value): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$type |
string | The property type |
$value |
mixed | The value to validate |
Validate array type.
private validateArrayType(mixed $value): bool
Parameters:
Parameter | Type | Description |
---|---|---|
$value |
mixed |
Wrap the context with a reference to the annotation it is nested in.
private nested(\OpenApi\Annotations\AbstractAnnotation $annotation, \OpenApi\Context $nestedContext): \OpenApi\Annotations\AbstractAnnotation
Parameters:
Parameter | Type | Description |
---|---|---|
$annotation |
\OpenApi\Annotations\AbstractAnnotation | |
$nestedContext |
\OpenApi\Context |