PHP Класс RESTfulAPI

Показать файл Открыть проект Примеры использования класса

Открытые свойства

Свойство Тип Описание
$authenticator RESTfulAPI_Authenticator Current Authenticator instance
$authority RESTfulAPI_PermissionManager Current Permission Manager instance
$queryHandler RESTfulAPI_QueryHandler Current QueryHandler instance
$serializer RESTfulAPI_Serializer Current serializer instance

Защищенные свойства (Protected)

Свойство Тип Описание
$instance RESTfulAPI Current RESTfulAPI instance

Открытые методы

Метод Описание
__construct ( ) Constructor.
acl ( SS_HTTPRequest $request ) Handles Access Control methods get response from API PermissionManager then passes it on to $answer()
answer ( string $json = null, boolean $corsPreflight = false ) Output the API response to client then exit.
api_access_control ( string | DataObject $model, string $httpMethod = 'GET' ) : boolean Checks a class or model api access depending on access_control_policy and the provided model.
auth ( SS_HTTPRequest $request ) Handles authentications methods get response from API Authenticator then passes it on to $answer()
error ( RESTfulAPI_Error $error ) Handles formatting and output error message then exit.
getqueryHandler ( ) : RESTfulAPI_QueryHandler Returns current query handler instance
getserializer ( ) : RESTfulAPI_Serializer Returns current serializer instance
index ( SS_HTTPRequest $request ) : string Main API hub switch All requests pass through here and are redirected depending on HTTP verb and params
init ( ) Controller inititalisation Catches CORS preflight request marked with HTTPMethod 'OPTIONS'

Приватные методы

Метод Описание
api_access_config_check ( string $className, string $httpMethod = 'GET' ) : boolean Checks a model's api_access config.
model_permission_check ( string | DataObject $model, string $httpMethod = 'GET' ) : boolean Checks a Model's permission for the currently authenticated user via the Permission Manager dependency.
setAnswerCORS ( SS_HTTPResponse $answer ) Apply the proper CORS response heardes to an SS_HTTPResponse

Описание методов

__construct() публичный Метод

...
public __construct ( )

acl() публичный Метод

Handles Access Control methods get response from API PermissionManager then passes it on to $answer()
public acl ( SS_HTTPRequest $request )
$request SS_HTTPRequest HTTP request

answer() публичный Метод

Output the API response to client then exit.
public answer ( string $json = null, boolean $corsPreflight = false )
$json string Response body
$corsPreflight boolean Set to true if this is a XHR preflight request answer. CORS shoud be enabled.

api_access_control() публичный статический Метод

- 1st config check - 2nd permission check if config access passes
public static api_access_control ( string | DataObject $model, string $httpMethod = 'GET' ) : boolean
$model string | DataObject Model's classname or DataObject
$httpMethod string API request HTTP method
Результат boolean true if access is granted, false otherwise

auth() публичный Метод

Handles authentications methods get response from API Authenticator then passes it on to $answer()
public auth ( SS_HTTPRequest $request )
$request SS_HTTPRequest HTTP request

error() публичный Метод

Handles formatting and output error message then exit.
public error ( RESTfulAPI_Error $error )
$error RESTfulAPI_Error Error object to return

getqueryHandler() публичный Метод

Returns current query handler instance
public getqueryHandler ( ) : RESTfulAPI_QueryHandler
Результат RESTfulAPI_QueryHandler QueryHandler instance

getserializer() публичный Метод

Returns current serializer instance
public getserializer ( ) : RESTfulAPI_Serializer
Результат RESTfulAPI_Serializer Serializer instance

index() публичный Метод

Main API hub switch All requests pass through here and are redirected depending on HTTP verb and params
public index ( SS_HTTPRequest $request ) : string
$request SS_HTTPRequest HTTP request
Результат string json object of the models found

init() публичный Метод

Controller inititalisation Catches CORS preflight request marked with HTTPMethod 'OPTIONS'
public init ( )

Описание свойств

$authenticator публичное свойство

Current Authenticator instance
public RESTfulAPI_Authenticator $authenticator
Результат RESTfulAPI_Authenticator

$authority публичное свойство

Current Permission Manager instance
public RESTfulAPI_PermissionManager $authority
Результат RESTfulAPI_PermissionManager

$instance защищенное статическое свойство

Current RESTfulAPI instance
protected static RESTfulAPI $instance
Результат RESTfulAPI

$queryHandler публичное свойство

Current QueryHandler instance
public RESTfulAPI_QueryHandler $queryHandler
Результат RESTfulAPI_QueryHandler

$serializer публичное свойство

Current serializer instance
public RESTfulAPI_Serializer $serializer
Результат RESTfulAPI_Serializer