静态变量 - 它们是什么以及何时应该被使用?

时间:2013-11-11 14:23:17

标签: php oop static-variables

我正在试图找出静态变量是什么。

他们可以在不实例化课程的情况下进行访问,但他们有什么其他好处以及何时应该使用它们?

例如,我的班级有一个私有var,其中包含我想要获取的推文提要的名称。

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

如果有人给我一个明确的解释,那么我将非常感激。

由于

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

静态变量适用于希望函数内部的变量在再次调用函数时保持其值的情况。

静态变量的示例可以是以下内容。

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

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

哪会返回

123

如果没有static关键字,则只返回

111

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

假设你在课堂上有一些你以后需要的东西。

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

这就是你使用静态方法/属性

的原因