php – 公共字段如何在Doctrine 2中“破解延迟加载”?

当我运行doctrine orm:validate-schema时,会弹出一堆关于我的映射列是公共的警告,而不是使用getter / setter方法来包装它们.它说他们“打破懒惰装载”.我可以理解如何使公共关联集合成为问题(我确实将它们设为私有并将它们包装起来),但这对于对象上的字段来说又是怎样的问题?据我所知,字段已全部加载.

解决方法:

虽然我当然不是Doctrine2专家,但我会对此给出一个镜头.

根据我的(有限的)使用和测试,似乎Doctrine可能会给你一个相关的对象而不加载该对象的数据.那时公共属性将打破延迟加载.

Doctrine是在请求持久化数据时延迟加载,而不是在请求包含持久数据的对象时.

更新:我看了actual proxy code,似乎我原来的理解大多是正确的.在调用对象的方法之前,代理对象不会加载自身.因此,对公共财产的任何请求都不会加载数据.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...