我一直在PHP开发一段时间,但最近才将其切换到了OOP方法.
对我而言,一个问题是与OOP的东西是“多远”,特别是在执行速度和内存资源方面.
例如,假设我有2个对象,即User和Listing
列表始终链接到单个用户. UserId是列表的属性,因此我知道它涉及到哪个用户.
一段时间后,在列表方法中,我需要访问相关用户的单个属性.
我可以看到(请指教,如果没有)我有3个选择如何完成这一点.
>创建一个新的用户对象,并通过$user – >访问相关属性.利人
>将所需属性设置为列表的本地属性,并在列表初始化时填充(例如,通过sql连接)
>直接查询数据库,通过用户ID检索用户所需的属性
在我看来,选项1& 2更加严格地遵守OOP规则,但是由于初始化一个整个对象而仅仅是检索1个属性,因此具有性能匹配.选项3将是最少的内存密集型,但是一边回调OOP.
另外,在创建对象的填充方面,我的大部分对象通过一个“填充”方法在被初始化之后很快地填充了大部分的属性(因此只需要1个查询).这通常被认为是最佳做法,还是使用个别方法来获取这些属性更为可取,在需要的时候填充?
我意识到可能没有“正确”的答案,但是任何人都可以提供最佳方式来解决这种情况的建议?
非常感谢
缺口