Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Lazy mapping #106

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from
Draft

Lazy mapping #106

wants to merge 1 commit into from

Conversation

joelwurtz
Copy link
Member

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 joelwurtz marked this pull request as draft April 2, 2024 18:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant