переменная или постоянная? - PullRequest
6 голосов
/ 19 июля 2010

Есть ли преимущество использования одного над другим?

$lang = isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en';
# OR
define("LANG" , isset($_COOKIE['lang']) ? $_COOKIE['lang'] : 'en');

Спасибо

Ответы [ 3 ]

5 голосов
/ 19 июля 2010

Константы:

  1. После этого не может быть изменено.
  2. Всегда находятся в области видимости (в классах / функциях / методах).
  3. Могут быть только скалярами (или файловыми ресурсами, но это просто недокументированная функция / ошибка)

Переменные:

  1. Изменчивы.
  2. Может быть вне области видимости.
  3. Могут быть любые данные.
5 голосов
/ 19 июля 2010

В этом случае константа является более подходящей.Поскольку вы хотите использовать одно и то же значение во всем приложении, и вы не хотите, чтобы оно могло быть изменено по ошибке.

Обратите внимание, что в языках программирования есть много функций, которые вам не нужно использовать для реализации алгоритма, но они существуют для того, чтобы сделать алгоритм более читабельным, обслуживаемым и менее подверженным ошибкам.Константы являются одним из таких типов функций.

1 голос
/ 19 июля 2010

Это зависит от того, что вы хотите сделать. Значение константы нельзя изменить после ее определения. Может переменная. Эта разница должна заставить вас выбрать тот, который вам нужен.

...