我应该使用$ this->在函数中多次或我应该创建一个局部变量?

时间:2015-06-17 08:31:55

标签: php performance security

因此,举例来说,我有两种不同的方式:

class Text {
    private $Foo;

    function Bar() {
        if ($this->Foo == "Bar" || $this->Foo == "Foo") {
            return $this->Foo;
        }
    }
}


class Text {
    private $Foo;
    function Bar() {
        $Fooo = $this->Foo;
        if ($Fooo == "Bar" || $Fooo == "Foo") {
            return $Fooo;
        }
    }
}

哪种方式更好,更快,更安全?

谢谢!

2 个答案:

答案 0 :(得分:0)

PHP performance: $this->variable versus local $variable (manipulating)

请注意,在您的示例中,已经定义了类变量,因此要么删除它并使用局部变量,要么删除局部变量并使用第一类。此外,如果需要其他类(您需要将其公开)或函数访问它,请使用类变量。

答案 1 :(得分:0)

  1. 使用constants确保您比较变量并且无法拼写错误

    const BAR =“bar” const FOO =“foo”

  2. 使用triple equal comparator来比较值是否等于且类型相同

    $ this-> Foo === BAR

  3. 您在课堂上,如果您需要以后访问或者在多种方法中使用它们,请坚持使用类变量。