我已经用PHP开发了一段时间,但直到最近才转向OOP方法.
一个不断出现的问题是"与OOP的关系有多远",特别是在执行速度和内存资源等方面.
例如,假设我有2个对象,User和Listing
列表始终链接到单个用户.UserId是Listing的一个属性,所以我知道它与哪个用户有关.偶尔,在Listing方法中,我需要访问相关User的单个属性.
据我所知(如果没有,请告知)我有3个选项来完成此任务.
创建一个新的用户对象并通过$ user - > theProperty访问相关的属性
使得必需属性成为Listing的本地属性,并在初始化Listing时填充它(例如,通过sql join)
直接查询数据库以通过用户ID检索用户所需的属性
在我看来,选项1和2遵守OOP规则更严格,但由于初始化整个对象只是为了检索1个属性而具有性能命中.选项3将是内存密集程度最低但完全避开OOP.
此外,在创建时填充对象方面,我的大多数对象在初始化后不久就通过一个"填充"方法填充其大部分属性(因此只需要1个DB查询).这通常被认为是最佳实践,还是更可取的是使用单独的方法来获取这些属性,在需要时填充?
我意识到可能没有"正确"的答案,但是有人能就这种情况的最佳方法提出建议吗?
非常感谢尼克
我有以下数据可供使用:
totalItems = 26;
itemsPerPage = 6;
currentItem = 17;
currentPage = ??
Run Code Online (Sandbox Code Playgroud)
给定这些数字(或任何当前项目值),我如何确定当前页面是什么.我想我需要使用模数函数,但我无法理解它应该采用哪种方式.
有人可以帮忙吗?谢谢