Go to file
Romain Canon 48208c1ed1 fix: correctly fetch file system cache entries
Method `\CuyZ\Valinor\Cache\FileSystemCache::get()` was not properly
looping on all delegates, leading to the values not being fetched from
the cache files and resulting in `null` (the default value) being
returned in some cases. Because of the following algorithm, the cache
entry was populated again, so the cache was not really working here.

```php
if ($this->cache->has($key)) {
    $entry = $this->cache->get($key);

    if ($entry) {
        return $entry;
    }
}

$class = $this->delegate->for($type);

$this->cache->set($key, $class);

return $class;
```
2022-09-01 12:26:32 +02:00
.github qa: improve cache and performances of Github actions 2022-08-31 09:36:22 +02:00
docs feat: introduce helper method to describe supported date formats 2022-09-01 12:24:24 +02:00
qa feat: allow injecting a cache implementation that is used by the mapper 2022-05-23 20:28:02 +02:00
src fix: correctly fetch file system cache entries 2022-09-01 12:26:32 +02:00
tests fix: correctly fetch file system cache entries 2022-09-01 12:26:32 +02:00
.changelog release: version 0.10.0 2022-06-10 19:00:31 +02:00
.gitattributes qa: include and use Rector 2022-05-21 16:37:16 +02:00
.gitignore misc: ignore .idea folder 2022-07-05 23:12:51 +02:00
.php-cs-fixer.dist.php feat!: allow mapping to any type 2022-01-02 00:48:01 +01:00
composer.json doc: introduce mkdocs as a static documentation generator 2022-06-10 17:32:07 +02:00
composer.lock qa: include and use Rector 2022-05-21 16:37:16 +02:00
infection.json.dist feat!: improve message customization with formatters 2022-05-21 16:30:24 +02:00
LICENSE.md misc!: change license from GPL 3 to MIT 2021-11-30 13:01:20 +01:00
phpstan.neon.dist feat: allow injecting a cache implementation that is used by the mapper 2022-05-23 20:28:02 +02:00
phpunit.xml.dist feat: initial release 2021-11-28 18:21:56 +01:00
psalm.xml qa: change Psalm cache directory 2022-08-30 20:55:20 +02:00
README.md doc: format badges in readme file 2022-06-12 17:59:12 +02:00
rector.php qa: improve cache and performances of Github actions 2022-08-31 09:36:22 +02:00

Valinor • PHP object mapper with strong type support

Latest Stable Version PHP Version Require Total Downloads Mutation testing badge


Valinor is a PHP library that helps to map any input into a strongly-typed value object structure.

The conversion can handle native PHP types as well as other well-known advanced type annotations like array shapes, generics and more.

Installation

composer require cuyz/valinor

Documentation

Documentation can be found at valinor.cuyz.io.

Credits & thank you

The development of this library is mainly motivated by the kind words and the help of many people. I am grateful to everyone, especially to the contributors of this repository who directly help to push the project forward.

I also want to thank blackfire-logo Blackfire for providing a license of their awesome tool, leading to notable performance gains when using this library.