Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. DenormalizerInterface.php

interface DenormalizerInterface

@author Jordi Boggiano <j.boggiano@seld.be>

Hierarchy

  • interface \Symfony\Component\Serializer\Normalizer\DenormalizerInterface

Expanded class hierarchy of DenormalizerInterface

All classes that implement DenormalizerInterface

14 files declare their use of DenormalizerInterface
DateTimeNormalizer.php in core/modules/serialization/src/Normalizer/DateTimeNormalizer.php
EntityDenormalizerBase.php in core/modules/jsonapi/src/Normalizer/EntityDenormalizerBase.php
EntityNormalizer.php in core/modules/serialization/src/Normalizer/EntityNormalizer.php
FieldItemNormalizer.php in core/modules/jsonapi/src/Normalizer/FieldItemNormalizer.php
FieldItemNormalizer.php in core/modules/serialization/src/Normalizer/FieldItemNormalizer.php

... See full list

File

vendor/symfony/serializer/Normalizer/DenormalizerInterface.php, line 25

Namespace

Symfony\Component\Serializer\Normalizer
View source
interface DenormalizerInterface {
    public const COLLECT_DENORMALIZATION_ERRORS = 'collect_denormalization_errors';
    
    /**
     * Denormalizes data back into an object of the given class.
     *
     * @param mixed       $data    Data to restore
     * @param string      $type    The expected class to instantiate
     * @param string|null $format  Format the given data was extracted from
     * @param array       $context Options available to the denormalizer
     *
     * @throws BadMethodCallException   Occurs when the normalizer is not called in an expected context
     * @throws InvalidArgumentException Occurs when the arguments are not coherent or not supported
     * @throws UnexpectedValueException Occurs when the item cannot be hydrated with the given data
     * @throws ExtraAttributesException Occurs when the item doesn't have attribute to receive given data
     * @throws LogicException           Occurs when the normalizer is not supposed to denormalize
     * @throws RuntimeException         Occurs if the class cannot be instantiated
     * @throws ExceptionInterface       Occurs for all the other cases of errors
     */
    public function denormalize(mixed $data, string $type, ?string $format = null, array $context = []) : mixed;
    
    /**
     * Checks whether the given class is supported for denormalization by this normalizer.
     *
     * @param mixed       $data   Data to denormalize from
     * @param string      $type   The class to which the data should be denormalized
     * @param string|null $format The format being deserialized from
     */
    public function supportsDenormalization(mixed $data, string $type, ?string $format = null, array $context = []) : bool;
    
    /**
     * Returns the types potentially supported by this denormalizer.
     *
     * For each supported formats (if applicable), the supported types should be
     * returned as keys, and each type should be mapped to a boolean indicating
     * if the result of supportsDenormalization() can be cached or not
     * (a result cannot be cached when it depends on the context or on the data.)
     * A null value means that the denormalizer does not support the corresponding
     * type.
     *
     * Use type "object" to match any classes or interfaces,
     * and type "*" to match any types.
     *
     * @return array<class-string|'*'|'object'|string, bool|null>
     */
    public function getSupportedTypes(?string $format) : array;

}

Members

Title Sort descending Modifiers Object type Summary Overrides
DenormalizerInterface::COLLECT_DENORMALIZATION_ERRORS public constant
DenormalizerInterface::denormalize public function Denormalizes data back into an object of the given class. 24
DenormalizerInterface::getSupportedTypes public function Returns the types potentially supported by this denormalizer. 2
DenormalizerInterface::supportsDenormalization public function Checks whether the given class is supported for denormalization by this normalizer. 15

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal