在PHP开发中,了解对象占用的内存大小有助于性能优化和内存管理。我们可以利用PHP内置函数 memory_get_usage(),在创建对象前后调用它,计算对象实际分配的内存。
class MyBigClass {
var $allocatedSize;
var $allMyOtherStuff;
}
<p>function AllocateMyBigClass() {<br>
$before = memory_get_usage();<br>
$ret = new MyBigClass;<br>
$after = memory_get_usage();<br>
$ret->allocatedSize = ($after - $before);<br>
return $ret;<br>
}
在函数 AllocateMyBigClass() 中,先记录当前内存使用量 $before,然后创建一个 MyBigClass 对象,接着记录创建后的内存使用量 $after。二者相减即为该对象所占用的内存大小,并将结果赋值给对象的 allocatedSize 属性。
这种方式测量的内存大小是相对环境的,可能会受到PHP内存管理机制的影响,仅供参考。实际应用时,可以结合其他工具和方法综合分析。