phpDocumentor

ProductJsonSerializer extends AbstractJsonSerializer
in package

Class ProductJsonSerializer

This class will serialize and deserialize a Product entity. It can be used into many places where PHP interacts with external requests such as AJAX or API communication.

Tags
category

System

subpackage

Serializers

Table of Contents

$languageProvider  : LanguageProviderInterface
Used for the resources that require multiple languages.
__construct()  : mixed
AbstractJsonSerializer Constructor
decodeJson()  : array<string|int, mixed>
Decodes a JSON string and performs some basic validation.
deserialize()  : ProductInterface|StoredProductInterface
Deserialize a Product JSON String.
jsonEncode()  : string
JSON Encode Wrapper
serialize()  : string|array<string|int, mixed>
Serialize a Product object to a JSON string.
serializeProductArray()  : array<string|int, mixed>|string
Serializes an array of ProductInterfaces to a JSON string.
_deserializeAddonValues()  : array<string|int, mixed>
Deserialize Addon Values
_deserializeImages()  : ProductImageContainer
Deserialize Images
_deserializeLanguageSpecificProperty()  : mixed
Deserialize Language Specific Property
_deserializeSettings()  : ProductSettingsInterface
Deserialize Settings
_serializeAddonValues()  : array<string|int, mixed>
Serialize Addon Values
_serializeImages()  : array<string|int, mixed>
Serialize Images
_serializeLanguageSpecificProperty()  : array<string|int, mixed>
Serialize Language Specific Property
_serializeSettings()  : array<string|int, mixed>
Serialize Settings

Properties

Methods

__construct()

AbstractJsonSerializer Constructor

public __construct() : mixed

If you override this constructor do not forget to call it from the child class.

Return values
mixed

decodeJson()

Decodes a JSON string and performs some basic validation.

public decodeJson(mixed $string) : array<string|int, mixed>
Parameters
$string : mixed

The (potential) JSON string

Return values
array<string|int, mixed>

The decoded JSON array

deserialize()

Deserialize a Product JSON String.

public deserialize(mixed $json[, object $baseObject = null ]) : ProductInterface|StoredProductInterface
Parameters
$json : mixed
$baseObject : object = null

(optional) If provided, this will be the base object to be updated and no new instance will be created.

Tags
throws
InvalidArgumentException

If the argument is not a string or is empty.

Return values
ProductInterface|StoredProductInterface

Returns the deserialized Product object.

jsonEncode()

JSON Encode Wrapper

public jsonEncode(array<string|int, mixed> $data) : string

This function provides PHP v5.3 compatibility and it should be used when serialized objects need to be encoded directly from the serializer instance.

Parameters
$data : array<string|int, mixed>

Contains the data to be JSON encoded.

Return values
string

Returns the encoded JSON string that represents the data.

serialize()

Serialize a Product object to a JSON string.

public serialize(ProductInterface $object[, bool $encode = true ]) : string|array<string|int, mixed>
Parameters
$object : ProductInterface

Object instance to be serialized.

$encode : bool = true

(optional) Whether to json_encode the result of the method (default true).

Tags
throws
InvalidArgumentException

If the provided object type is invalid.

throws
RuntimeException

Through the _serializeLanguageSpecificProperty.

Return values
string|array<string|int, mixed>

Returns the json encoded product (string) or an array that can be easily encoded into a JSON string.

serializeProductArray()

Serializes an array of ProductInterfaces to a JSON string.

public serializeProductArray(array<string|int, mixed> $storedProducts[, bool $encode = true ]) : array<string|int, mixed>|string
Parameters
$storedProducts : array<string|int, mixed>

The array of ProductInterfaces

$encode : bool = true

Indicates if the result should be returned JSON encoded.

Return values
array<string|int, mixed>|string

Either a JSON string or the serialized array (depends on the $encode parameter)

_deserializeAddonValues()

Deserialize Addon Values

protected _deserializeAddonValues( $json) : array<string|int, mixed>

Common method for deserializing addon values in various resource serializer classes.

Parameters
$json :
Return values
array<string|int, mixed>

_deserializeLanguageSpecificProperty()

Deserialize Language Specific Property

protected _deserializeLanguageSpecificProperty(mixed $object, stdobject $json, string $property[, mixed $type = 'StringType' ]) : mixed

This method will deserialize the value of a JSON property and set the value to the object by using the corresponding setter method.

Parameters
$object : mixed

The object being deserialized.

$json : stdobject

The JSON object containing the property value.

$property : string

The property name to be deserialized.

$type : mixed = 'StringType'
Tags
throws
RuntimeException

If the setter method does not exist.

Return values
mixed

_serializeAddonValues()

Serialize Addon Values

protected _serializeAddonValues(KeyValueCollection $addonValues) : array<string|int, mixed>

Common method for serializing addon values in various resource serializer classes.

Parameters
$addonValues : KeyValueCollection
Return values
array<string|int, mixed>

_serializeLanguageSpecificProperty()

Serialize Language Specific Property

protected _serializeLanguageSpecificProperty(mixed $object, string $property) : array<string|int, mixed>

In order for this method to work there has to be a proper getter method in the object instance. Otherwise a RuntimeException will be thrown.

Parameters
$object : mixed

The object instance containing the property.

$property : string

The property name to be serialized.

Tags
throws
RuntimeException

If there is no getter for the provided property.

Return values
array<string|int, mixed>

Search results