ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
NormalizerRegistration.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
37
39{
40 public function __construct(private readonly Container $dic)
41 {
42 }
43
44 public function register(Registry $registry, Transformations $transformations): void
45 {
46 $date_time = new DateTimeNormalizer();
47 $registry->register(\DateTime::class, $date_time);
48 $registry->register(\DateTimeImmutable::class, $date_time);
49
50 $uuid = new UUIDNormalizer();
51 $registry->register(Uuid::class, $uuid);
52 $registry->register(Uuid::class, new Legacy11UUIDNormalizer(), '11');
53
54 $registry->register(Envelope::class, new EnvelopeNormalizer($transformations));
55 $registry->register(Transformation::class, new TransformationNormalizer($this->dic->refinery()));
56
57 if (isset($this->dic[\InitResourceStorage::D_REPOSITORIES])) {
58 $resource = new ResourceNormalizer(
59 $transformations,
60 $this->dic[\InitResourceStorage::D_REPOSITORIES]->getResourceRepository()
61 );
62 $registry->register(ResourceIdentification::class, $resource);
63 $registry->register(StorableResource::class, $resource);
64 }
65
66 $registry->register(\ilObject::class, new IlObjectNormalizer($transformations));
67 }
68}
Customizing of pimple-DIC for ILIAS.
Definition: Container.php:38
register(string $type, Normalizer $normalizer, ?string $legacy_version=null)
Definition: Registry.php:34
Provides a set of transformations for normalizing and denormalizing values.
A transformation is a function from one datatype to another.
An envelope carries intermediate data between pipes before the final normalization step.
Definition: Envelope.php:29