CountryJsonSerializer
extends AbstractJsonSerializer
in package
Class CountryJsonSerializer
This class will serialize and deserialize a country 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
- deserialize() : CustomerCountryInterface
- Deserialize country JSON string.
- jsonEncode() : string
- JSON Encode Wrapper
- serialize() : string|array<string|int, mixed>
- Serialize country object to json string.
- _deserializeAddonValues() : array<string|int, mixed>
- Deserialize Addon Values
- _deserializeLanguageSpecificProperty() : mixed
- Deserialize Language Specific Property
- _serializeAddonValues() : array<string|int, mixed>
- Serialize Addon Values
- _serializeLanguageSpecificProperty() : array<string|int, mixed>
- Serialize Language Specific Property
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 —deserialize()
Deserialize country JSON string.
public
deserialize(string $string[, object $baseObject = null ]) : CustomerCountryInterface
NOTICE #1: The CountryService does not support the addition of new countries so the CustomerCountry object does not have any setters, rather only getters. So the $baseObject parameter is not used at all.OrderStatus
NOTICE #2: The provided JSON string must contain all the properties of the country otherwise the object will not be deserialized.
Parameters
- $string : string
-
JSON string that contains the data of the country.
- $baseObject : object = null
-
(optional) It is not used within the countries context.
Tags
Return values
CustomerCountryInterface —Returns the deserialized CustomerCountry 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 country object to json string.
public
serialize(CustomerCountryInterface $object[, bool $encode = true ]) : string|array<string|int, mixed>
Parameters
- $object : CustomerCountryInterface
-
Contains the country data.
- $encode : bool = true
-
(optional) Whether to json_encode the result of the method (default true). Sometimes it might be required to encode an array of multiple country records together and not one by one.
Tags
Return values
string|array<string|int, mixed> —Returns the json encoded country (string) or an array that can be easily encoded into a JSON string.
_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> —_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 —_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.