automapper icon indicating copy to clipboard operation
automapper copied to clipboard

Lazy mapping

Open joelwurtz opened this issue 1 year ago • 0 comments

This introduce the possibility to do lazy mapping

The following call :

$userDto = $this->autoMapper->map($user, Fixtures\UserDTO::class, [MapperContext::LAZY_MAPPING => true]);

Will produce a lazy ghost object for userDto which will only be mapped when calling one of its value Nested objects are also lazy loaded

This will allow to map large complex tree instantly and only map values when it's needed, this may decreses performance in most cases so it's not enabled by default, but in some cases where only a part of a data is needed this may be useful and save process / memory

This also opens the door to json streaming (will need a special LazyArray object but it's totally doable)

joelwurtz avatar Apr 02 '24 18:04 joelwurtz