PHP Class Dispatcher

Author: liu21st ([email protected])
Inheritance: extends Base
Show file Open project: silverstripe/deploynaut Class Usage Examples

Public Methods

Method Description
asJSON ( array $data = [] ) : SS_HTTPResponse Respond to an AJAX request.
asJSONFormFieldErrors ( integer $code, array $fieldErrors ) : SS_HTTPResponse Return field-specific errors as AJAX response.
asJSONValidatorErrors ( integer $code, array $validatorErrors ) : SS_HTTPResponse Return the validator errors as AJAX response.
getModel ( string $name ) : array Generate the data structure used by the frontend component.
getReactComponent ( string $name ) : string Renders the initial HTML needed to bootstrap the react component.

Protected Methods

Method Description
checkSecurityToken ( )
getAPIResponse ( array $output, integer $statusCode ) : SS_HTTPResponse Return an XHR response object without any CSRF token information
getFormData ( ) : array Decode the data submitted by the Form.jsx control.
getSecurityToken ( ) : SecurityToken We want to separate the dispatchers security token from the static HTML security token since it's possible that they get out of sync with eachother.
stripNonPrintables ( $val ) : string | array Remove control characters from the input.
trimWhitespace ( $val ) : string | array

Method Details

asJSON() public method

Automatically updates the security token and proxy pending redirects.
Deprecation: the use of getAPIResponse() is encouraged
public asJSON ( array $data = [] ) : SS_HTTPResponse
$data array Data to be passed to the frontend.
return SS_HTTPResponse

asJSONFormFieldErrors() public method

Return field-specific errors as AJAX response.
public asJSONFormFieldErrors ( integer $code, array $fieldErrors ) : SS_HTTPResponse
$code integer HTTP status code.
$fieldErrors array FieldName => message structure.
return SS_HTTPResponse

asJSONValidatorErrors() public method

Return the validator errors as AJAX response.
public asJSONValidatorErrors ( integer $code, array $validatorErrors ) : SS_HTTPResponse
$code integer HTTP status code.
$validatorErrors array Result of calling Validator::validate, e.g. [{"fieldName":"Name","message":"Message.","messageType":"bad"}]
return SS_HTTPResponse

checkSecurityToken() protected method

See also: getSecurityToken()
protected checkSecurityToken ( )

getAPIResponse() protected method

Return an XHR response object without any CSRF token information
protected getAPIResponse ( array $output, integer $statusCode ) : SS_HTTPResponse
$output array
$statusCode integer
return SS_HTTPResponse

getFormData() protected method

Decode the data submitted by the Form.jsx control.
protected getFormData ( ) : array
return array

getModel() abstract public method

Generate the data structure used by the frontend component.
abstract public getModel ( string $name ) : array
$name string of the component
return array

getReactComponent() public method

Usage: $getReactComponent(YourComponent);
public getReactComponent ( string $name ) : string
$name string Used to name the DOM elements and obtain the initial model.
return string A snippet good for adding to a SS template.

getSecurityToken() protected method

We do this by giving the token a separate name. Don't manually reset() this token, that will cause issues when people have several tabs open. The token will be recreated when the user session times out.
protected getSecurityToken ( ) : SecurityToken
return SecurityToken

stripNonPrintables() protected method

Remove control characters from the input.
protected stripNonPrintables ( $val ) : string | array
return string | array

trimWhitespace() protected method

protected trimWhitespace ( $val ) : string | array
return string | array