Учение ленивых партий - PullRequest
       19

Учение ленивых партий

0 голосов
/ 20 сентября 2019

У нас есть концепция ORM, которую мы думаем реализовать над доктриной.В нашей концепции ORM у нас есть понятие, которое называется «Аспекты» (ничего общего с AOP);«Аспекты» связаны с объектами, и Аспект содержит свойства и отношения, которые в контексте отложенной загрузки должны загружаться в пакете (то есть в одном запросе).Например, User может иметь listing контекст, который выбирает {name,picture}, и он может иметь activity контекст, который выбирает {lastLogin,lastPost:listing} (listing здесь является аспектом публикации).

Идея заключалась бы в том, что, используя Аспекты, можно было бы использовать преимущества отложенной загрузки, в то же время избегая ловушки производительности, связанной с одним запросом на поле.Всякий раз, когда средство доступа получит доступ к объекту или списку объектов, он назначит этому доступу один или несколько Аспектов, так что свойства и отношения, которые в конечном итоге будут использоваться позже, будут загружены в один пакет.

Мы не являемсяХотя я хорошо знаком с Doctrine, поэтому мой вопрос: есть ли что-то подобное в Doctrine или это можно безболезненно подключить к ленивому механизму загрузки Doctrine?

...