我试图弄清楚静态变量是什么。
它们可以在不实例化类的情况下访问,但是它们还有什么其他好处以及应该在什么时候使用它们?
例如,我的班级有一个私有变量,其中包含我要获取的 twitter 提要的名称。
这应该是静态的吗?它永远不需要改变。
我试图弄清楚静态变量是什么。
它们可以在不实例化类的情况下访问,但是它们还有什么其他好处以及应该在什么时候使用它们?
例如,我的班级有一个私有变量,其中包含我要获取的 twitter 提要的名称。
这应该是静态的吗?它永远不需要改变。
通常,不是特定于实例但需要存储在变量中的东西应该是静态变量。否则本手册会详细说明:http: //php.net/manual/en/language.variables.scope.php
否则,您也可以考虑使用常量。对于您提到的示例(如其他人所写),使用常量似乎是最明智的。(可以是类常量,也可以是简单的。)
假设您在课程中有一些稍后需要的东西。
现在,您需要那个东西,但您实际上并不需要|想要|应该创建该类的新实例。
这就是您使用静态方法/属性的原因
简而言之,静态变量可以用于常量。
例如,一个 Math 类可以有静态变量;PI等
静态变量用于当您希望函数内的变量在再次调用该函数时保持其值。
静态变量的示例如下。
function addOne(){
static $i = 0;
$i++;
return $i;
}
echo addOne();
echo addOne();
echo addOne();
哪个会返回
123
如果没有 static 关键字,这将简单地返回
111
在您的问题中,您提到您有不需要更改的数据。正如问题中的评论所述,您应该将其设为常量。