Valinor/tests/Fake
Romain Canon c37ac1e259 feat: handle abstract constructor registration
It is now possible to register a static method constructor that can be
inherited by a child class. The constructor will then be used correctly
to map the child class.

```php
abstract class ClassWithStaticConstructor
{
    public string $value;

    final private function __construct(string $value)
    {
        $this->value = $value;
    }

    public static function from(string $value): static
    {
        return new static($value);
    }
}

final class ChildClass extends ClassWithStaticConstructor {}

(new MapperBuilder())
    // The constructor can be used for every child of the parent class
    ->registerConstructor(ClassWithStaticConstructor::from(...))
    ->mapper()
    ->map(ChildClass::class, 'foo');
```
2022-08-29 23:09:15 +02:00
..
Cache feat: introduce method to warm the cache up 2022-05-23 22:01:40 +02:00
Definition feat: handle abstract constructor registration 2022-08-29 23:09:15 +02:00
Mapper misc: change ObjectBuilderFactory::for return signature 2022-08-29 23:09:15 +02:00
Type misc: remove types stringable behavior 2022-07-13 21:44:07 +02:00
FakeReflector.php feat: initial release 2021-11-28 18:21:56 +01:00