Я сделаю попытку, хотя я, конечно, не эксперт по Doctrine2.
Из моего (ограниченного) использования и тестирования кажется, что Doctrine может дать вам связанный объект без загрузки данных для этого объекта . В этот момент публичные свойства прервут ленивую загрузку.
Doctrine - это ленивая загрузка в точке, где запрашиваются постоянные данные, а не когда запрашивается объект, содержащий постоянные данные.
Обновление: Я взглянул на фактический прокси-код и, похоже, мое первоначальное понимание было в основном правильным. Прокси-объект не загружается сам по себе, пока не будет вызван метод объекта. Поэтому любой запрос к общедоступному свойству не будет загружать данные.