В чем разница между const и static переменными? - PullRequest
0 голосов
/ 08 сентября 2010

Если у меня есть класс и я хочу иметь несколько статических переменных, какой будет правильный способ их объявить?

Например

class Foo {общедоступная статическая $ var1общедоступная статическая переменная $ var2общедоступная статическая переменная $ var3

......

}

ИЛИ

класс Foo {const $ var1const $ var2const $ var3

......

}

В обоих случаях позвольте мне использовать Foo :: var1.Но я не очень хорошо знаю, какой путь правильный и / или есть ли преимущество, если так или иначе.

Ответы [ 3 ]

4 голосов
/ 08 сентября 2010

const переменные не могут быть изменены. static могут. Используйте то, что вы пытаетесь сделать.

0 голосов
/ 08 сентября 2010

В общепринятых стандартах кодирования мы называем константы как Foo::CONST1 во всех заглавных буквах без $ в названии.Таким образом, вам не нужно путать между константами и переменными.

Как уже отмечали другие, вы определяете значение постоянной класса один раз, и вы не можете изменить это значение во времяостаток от данного PHP-запроса.

Принимая во внимание, что вы можете изменять значение статической переменной класса столько раз, сколько вам нужно.

0 голосов
/ 08 сентября 2010

class Foo{const $var1....} - синтаксическая ошибка (не нужно $ после const)

...