PHP Class Raml\ApiDefinition

See also: http://raml.org/spec.html
Inheritance: implements raml\ArrayInstantiationInterface
显示文件 Open project: alecsammon/php-raml-parser Class Usage Examples

Public Methods

Method Description
__construct ( string $title ) Create a new API Definition
addBaseUriParameter ( raml\NamedParameter $namedParameter ) Add a new base uri parameter
addDocumentation ( string $title, string $documentation ) Add a piece of documentation to the documentation list
addProtocol ( string $protocol ) Add a supported protocol
addResource ( raml\Resource $resource ) Add an additional resource
addSchemaCollection ( string $collectionName, array $schemas ) Add an schema
addSecuredBy ( raml\SecurityScheme $securityScheme ) Add an additional security scheme to the list of schemes the whole API is secured by
addSecurityScheme ( raml\SecurityScheme $securityScheme ) Add an additional security scheme
createFromArray ( string $title, array $data = [] ) : ApiDefinition Create a new API Definition from an array
getBaseUriParameters ( ) : raml\NamedParameter[] Get the base uri parameters
getBaseUrl ( ) : string Get the base URI
getDefaultMediaType ( ) : string Get the default media type
getDocumentationList ( ) : array Get the documentation of the API
getProtocols ( ) : array Get the list of support protocols
getResourceByPath ( string $path ) : Raml\Resource Get a resource by a path
getResourceByUri ( string $uri ) : Raml\Resource Get a resource by a uri
getResources ( ) : Raml\Resource[] Get the resources tree
getResourcesAsUri ( Raml\RouteFormatter\RouteFormatterInterface $formatter = null ) : Raml\RouteFormatter\RouteFormatterInterface Returns all the resources as a URI, essentially documenting the entire API Definition.
getSchemaCollections ( ) : array[] Get the schemas defined in the root of the API
getSecuredBy ( ) : raml\SecurityScheme Get a list of security schemes that the whole API is secured by
getSecurityScheme ( $schemeName ) : raml\SecurityScheme Get a security scheme by it's name
getTitle ( ) : string Get the title of the API
getVersion ( ) : string Get the version string of the API
setBaseUrl ( string $baseUrl ) Set the base url
setDefaultMediaType ( $defaultMediaType ) Set a default media type
setVersion ( $version ) Set the version
supportsHttp ( ) : boolean Does the API support HTTP (non SSL) requests?
supportsHttps ( ) : boolean Does the API support HTTPS (SSL enabled) requests?

Private Methods

Method Description
addSchema ( string $collectionName, string $schemaName, string | Raml\Schema\SchemaDefinitionInterface $schema ) Add a new schema to a collection
getMethodsAsArray ( array $resources ) : array[BasicRoute] Recursive function that generates a flat array of the entire API Definition
getResourcesAsArray ( $resources ) : raml\Resource[]

Method Details

__construct() public method

Create a new API Definition
public __construct ( string $title )
$title string

addBaseUriParameter() public method

Add a new base uri parameter
public addBaseUriParameter ( raml\NamedParameter $namedParameter )
$namedParameter raml\NamedParameter

addDocumentation() public method

Add a piece of documentation to the documentation list
public addDocumentation ( string $title, string $documentation )
$title string
$documentation string

addProtocol() public method

Add a supported protocol
public addProtocol ( string $protocol )
$protocol string

addResource() public method

Add an additional resource
public addResource ( raml\Resource $resource )
$resource raml\Resource

addSchemaCollection() public method

Add an schema
public addSchemaCollection ( string $collectionName, array $schemas )
$collectionName string
$schemas array

addSecuredBy() public method

Add an additional security scheme to the list of schemes the whole API is secured by
public addSecuredBy ( raml\SecurityScheme $securityScheme )
$securityScheme raml\SecurityScheme

addSecurityScheme() public method

Add an additional security scheme
public addSecurityScheme ( raml\SecurityScheme $securityScheme )
$securityScheme raml\SecurityScheme

createFromArray() public static method

Create a new API Definition from an array
public static createFromArray ( string $title, array $data = [] ) : ApiDefinition
$title string
$data array [ title: string version: ?string baseUrl: ?string baseUriParameters: ?array protocols: ?array defaultMediaType: ?string schemas: ?array securitySchemes: ?array documentation: ?array /* ]
return ApiDefinition

getBaseUriParameters() public method

Get the base uri parameters
public getBaseUriParameters ( ) : raml\NamedParameter[]
return raml\NamedParameter[]

getBaseUrl() public method

Get the base URI
public getBaseUrl ( ) : string
return string

getDefaultMediaType() public method

Get the default media type
public getDefaultMediaType ( ) : string
return string

getDocumentationList() public method

Get the documentation of the API
public getDocumentationList ( ) : array
return array

getProtocols() public method

Get the list of support protocols
public getProtocols ( ) : array
return array

getResourceByPath() public method

Get a resource by a path
public getResourceByPath ( string $path ) : Raml\Resource
$path string
return Raml\Resource

getResourceByUri() public method

Get a resource by a uri
public getResourceByUri ( string $uri ) : Raml\Resource
$uri string
return Raml\Resource

getResources() public method

Get the resources tree
public getResources ( ) : Raml\Resource[]
return Raml\Resource[]

getResourcesAsUri() public method

This will output, by default, an array that looks like: GET /songs => [/songs, GET, Raml\Method] GET /songs/{songId} => [/songs/{songId}, GET, Raml\Method]
public getResourcesAsUri ( Raml\RouteFormatter\RouteFormatterInterface $formatter = null ) : Raml\RouteFormatter\RouteFormatterInterface
$formatter Raml\RouteFormatter\RouteFormatterInterface
return Raml\RouteFormatter\RouteFormatterInterface

getSchemaCollections() public method

Get the schemas defined in the root of the API
public getSchemaCollections ( ) : array[]
return array[]

getSecuredBy() public method

Get a list of security schemes that the whole API is secured by
public getSecuredBy ( ) : raml\SecurityScheme
return raml\SecurityScheme

getSecurityScheme() public method

Get a security scheme by it's name
public getSecurityScheme ( $schemeName ) : raml\SecurityScheme
$schemeName
return raml\SecurityScheme

getTitle() public method

Get the title of the API
public getTitle ( ) : string
return string

getVersion() public method

Get the version string of the API
public getVersion ( ) : string
return string

setBaseUrl() public method

Set the base url
public setBaseUrl ( string $baseUrl )
$baseUrl string

setDefaultMediaType() public method

Set a default media type
public setDefaultMediaType ( $defaultMediaType )
$defaultMediaType

setVersion() public method

Set the version
public setVersion ( $version )
$version

supportsHttp() public method

Does the API support HTTP (non SSL) requests?
public supportsHttp ( ) : boolean
return boolean

supportsHttps() public method

Does the API support HTTPS (SSL enabled) requests?
public supportsHttps ( ) : boolean
return boolean