const和静态变量有什么区别?

时间:2010-09-08 17:05:47

标签: php static const

如果我有一个班级并希望有一些静态变量,那么这是宣告它们的正确方法吗?

例如

类Foo {
public static $ var1
public static $ var2
public static $ var3

......

}

OR

类Foo {
  const $ var1
  const $ var2
  const $ var3

......

}

两种方式让我使用Foo :: var1。但我不知道哪种方式正确和/或是否存在使用这种或那种方式的任何冒险行为。

3 个答案:

答案 0 :(得分:4)

无法修改

const个变量。 static个可以。使用正确的方法来完成你想要做的事情。

答案 1 :(得分:0)

class Foo{const $var1....}语法错误(在$之后不需要const

答案 2 :(得分:0)

conventional coding standards中,我们在名称中没有任何Foo::CONST1的所有大写字母中命名为$。所以你不需要在consts和变量之间混淆。

正如其他人所说,您只需定义一次class constant的值,并且在给定的PHP请求的剩余时间内无法更改该值。

您可以根据需要多次更改static class variable的值。