PHP Class RESTfulAPI_BasicSerializer

. JSON serialization and de-serialization
Author: Thierry Francois @colymba [email protected]
Inheritance: implements RESTfulAPI_Serializer
Afficher le fichier Open project: colymba/silverstripe-restfulapi Class Usage Examples

Protected Properties

Свойство Type Description
$embeddedRecords array Stores the current $embedded_records @config Config set on {@link RESTfulAPI}

Méthodes publiques

Méthode Description
__construct ( ) Construct and set current config
formatName ( string $name ) : string Format a SilverStripe ClassName or Field name to be used by the client API
getcontentType ( ) : string Return Content-type header definition to be used in the API response
serialize ( mixed $data ) : string Convert raw data (DataObject or DataList) to JSON ready to be consumed by the client API

Méthodes protégées

Méthode Description
formatDataList ( DataList $dataList ) : array Format a DataList into a formatted array ready to be turned into JSON
formatDataObject ( DataObject $dataObject ) : array | null Format a DataObject keys and values ready to be turned into JSON
getEmbedData ( DataObject $record, string $relationName ) : array | null Returns a DataObject relation's data formatted and ready to embed.
isEmbeddable ( string $model, string $relation ) : boolean Checks if a speicific model's relation should have its records embedded.
jsonify ( mixed $data ) : string Convert data into a JSON string
serializeColumnName ( string $name ) : string Format a DB Column name or Field name to be used by the client API

Method Details

__construct() public méthode

Construct and set current config
public __construct ( )

formatDataList() protected méthode

Format a DataList into a formatted array ready to be turned into JSON
protected formatDataList ( DataList $dataList ) : array
$dataList DataList The DataList to format
Résultat array The formatted array representation of the DataList

formatDataObject() protected méthode

Format a DataObject keys and values ready to be turned into JSON
protected formatDataObject ( DataObject $dataObject ) : array | null
$dataObject DataObject The data object to format
Résultat array | null The formatted array map representation of the DataObject or null is permission denied

formatName() public méthode

Format a SilverStripe ClassName or Field name to be used by the client API
public formatName ( string $name ) : string
$name string ClassName of DBField name
Résultat string Formatted name

getEmbedData() protected méthode

Returns a DataObject relation's data formatted and ready to embed.
protected getEmbedData ( DataObject $record, string $relationName ) : array | null
$record DataObject The DataObject to get the data from
$relationName string The name of the relation
Résultat array | null Formatted DataObject or RelationList ready to embed or null if nothing to embed

getcontentType() public méthode

Return Content-type header definition to be used in the API response
public getcontentType ( ) : string
Résultat string Content-type

isEmbeddable() protected méthode

Checks if a speicific model's relation should have its records embedded.
protected isEmbeddable ( string $model, string $relation ) : boolean
$model string Model's classname
$relation string Relation name
Résultat boolean Trus if the relation should be embedded

jsonify() protected méthode

Convert data into a JSON string
protected jsonify ( mixed $data ) : string
$data mixed Data to convert
Résultat string JSON data

serialize() public méthode

Convert raw data (DataObject or DataList) to JSON ready to be consumed by the client API
public serialize ( mixed $data ) : string
$data mixed Data to serialize
Résultat string JSON representation of data

serializeColumnName() protected méthode

Format a DB Column name or Field name to be used by the client API
protected serializeColumnName ( string $name ) : string
$name string Field name
Résultat string Formatted name

Property Details

$embeddedRecords protected_oe property

Stores the current $embedded_records @config Config set on {@link RESTfulAPI}
protected array $embeddedRecords
Résultat array