2010-09-08 108 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的值。

相關問題