Задать вопрос
alestro
@alestro

Lazy load для доменного объекта как реализовать?

Суть в следующем: есть доменный объект, допустим User, у него есть private свойство images должно содержать в себе коллекцию изображений, устанавливается через сеттер set_images(ImagesCollection $images)
Так вот, нужно реализовать ленивую загрузку. На данный момент есть некий класс Lazy интерфейс оного подразумевает только один метод load. Таким образом когда вызывается метод $user->images();
подгружается нужная коллекция объектов и все готово. Но как мне устанавливать этот самый Lazy в private свойство images тут либо писать отдельный сеттер по типу set_images_lazy(Lazy $lazy)
либо добавить общее для всех объектов DomainObject свойство Lazy, которое будет массивом хранящим имя свойства в виде ключа и значение - экземпляр lazy. Как стоит поступить? Или возможно есть более кашерное решение?
  • Вопрос задан
  • 185 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Fullstack веб-разработчик на JavaScript и PHP
    20 месяцев
    Далее
  • Хекслет
    PHP-разработчик
    10 месяцев
    Далее
  • Нетология
    Веб-разработчик с нуля: профессия с выбором специализации
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Или возможно есть более кашерное решение?


Прокси объекты.

https://github.com/Ocramius/ProxyManager

Например так делает доктрина.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы