0

我试图弄清楚静态变量是什么。

它们可以在不实例化类的情况下访问,但是它们还有什么其他好处以及应该在什么时候使用它们?

例如,我的班级有一个私有变量,其中包含我要获取的 twitter 提要的名称。

这应该是静态的吗?它永远不需要改变。

4

4 回答 4

1

通常,不是特定于实例但需要存储在变量中的东西应该是静态变量。否则本手册会详细说明:http: //php.net/manual/en/language.variables.scope.php

否则,您也可以考虑使用常量。对于您提到的示例(如其他人所写),使用常量似乎是最明智的。(可以是类常量,也可以是简单的。)

于 2013-11-11T14:28:13.173 回答
0

假设您在课程中有一些稍后需要的东西。

现在,您需要那个东西,但您实际上并不需要|想要|应该创建该类的新实例。

这就是您使用静态方法/属性的原因

于 2013-11-11T14:58:08.093 回答
0

简而言之,静态变量可以用于常量。

例如,一个 Math 类可以有静态变量;PI等

于 2013-11-11T14:38:30.793 回答
0

静态变量用于当您希望函数内的变量在再次调用该函数时保持其值。

静态变量的示例如下。

function addOne(){
    static $i = 0;
    $i++;
    return $i;
}

echo addOne();
echo addOne();
echo addOne();

哪个会返回

123

如果没有 static 关键字,这将简单地返回

111

在您的问题中,您提到您有不需要更改的数据。正如问题中的评论所述,您应该将其设为常量。

于 2013-11-11T14:32:59.020 回答