在PHP中传递对象作为参数时消耗内存

时间:2011-11-02 12:34:35

标签: php oop

我的问题是消耗更多内存:

  1. 将对象作为方法
  2. 中的参数传递
  3. 将ID整数作为参数传递,然后从该ID
  4. 创建一个对象

    非常感谢你。

2 个答案:

答案 0 :(得分:2)

由于对象总是在PHP中通过引用传递并且从ID创建它可能会创建一个复制对象(如果它存在于函数外部),我会说方法1更有效。

答案 1 :(得分:1)

2将消耗更多的实际内存,因为除了对象本身之外,您还必须访问数据库(除非您使用像Doctrine 2这样的智能ORM,它保留对已经获取的对象的引用,以保存db命中)

除了对象已经使用的内容之外,

1将不会占用任何内存,因为您只发送对它的引用(在PHP中,默认情况下通过引用传递对象)

我会在任何一天选择1