PHP变量,在类方法中使用本地copys of object vars更有效

时间:2012-02-06 13:11:14

标签: php optimization

说我有这个班:

class A {
    private
        $var_a,
        $var_b;

    public function do_something(){
        $local_var_a = $this->var_a;

        // ... Lots of use of $local_var_a

        $this->var_a = $local_var_a;
    }

    public function do_something_else(){

        // ... Lots of use of $this->var_a
    }
}

使用哪种功能的“更好”以及为什么?

2 个答案:

答案 0 :(得分:2)

绝对是“公共功能do_something_else()”。

原因:它更具可读性。

没有必要关心这个级别的表现。

答案 1 :(得分:2)

更好 是一个非常模糊的术语。在大多数情况下与编码相关,通常意味着

  • 内存使用情况 - 是否会吞噬你的内存?
  • 表现 - 它快吗?
  • 可用性和可读性 - 您(或其他从事该代码工作的人)可以了解最新情况吗?

内存使用和性能的差异很小,而且我不是微优化的朋友(除非我有太多时间在我手中),所以我会回答这两点:没关系

对于可用性和可读性,我更喜欢function do_something_else(),这使我和其他人更容易理解代码的工作原理,如何测试和记录代码。