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
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
$languageProvider
Used for the resources that require multiple languages.
protected
LanguageProviderInterface
$languageProvider
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
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
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
Return values
array<string|int, mixed> —_deserializeImages()
Deserialize Images
protected
_deserializeImages( $json) : ProductImageContainer
Parameters
Tags
Return values
ProductImageContainer —_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
Return values
mixed —_deserializeSettings()
Deserialize Settings
protected
_deserializeSettings(ProductSettingsInterface $settings, $json) : ProductSettingsInterface
Parameters
- $settings : ProductSettingsInterface
- $json :
Return values
ProductSettingsInterface —_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> —_serializeImages()
Serialize Images
protected
_serializeImages(ProductImageContainerInterface $imageContainer) : array<string|int, mixed>
Parameters
- $imageContainer : ProductImageContainerInterface
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
Return values
array<string|int, mixed> —_serializeSettings()
Serialize Settings
protected
_serializeSettings(ProductSettingsInterface $settings) : array<string|int, mixed>
Parameters
- $settings : ProductSettingsInterface