2010-09-08 80 views
0

如果我有一个班,并希望有一些静态变量,这将是正确的方式来声明它们?const和静态变量之间有什么区别?

例如

类Foo {
     公共静态$ VAR1
     公共静态$ VAR2
     公共静态$ VAR3

      .. ....

}

OR

类Foo {
     常量$ VAR1
     常量$ VAR2
     常量$ VAR3

      ......

}

两种方式让我用美孚:: VAR1。但我不太清楚哪种方法是正确的,或者是否有任何使用这种或那种方法的冒险行为。

+0

可能的重复http://stackoverflow.com/questions/1685922/php5-const-vs-static和http://stackoverflow.com/questions/4163975/php-oop-constant-vs-static-variables。 – johankj 2012-12-24 22:12:31

回答

4

const变量无法修改。 static的人可以。使用正确的一个你想要做的。

0

class Foo{const $var1....}是一个语法错误(不需要$const

0

conventional coding standards我们命名consts喜欢在全部大写Foo::CONST1无任何名义$。所以你不需要在const和变量之间混淆。

正如其他人已经注意到的那样,您只需定义一次class constant的值,并且在给定的PHP请求的剩余部分中您不能更改该值。

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

相关问题