Кто использует константы и зачем?

valeraorg

Новичок
Кто использует константы и зачем?

Меня интересует вопрос, зачем вообще нужны контстанты (define), кто их использует?
Почему к примеру нельзя создать переменную в большом регистре (что бы отличалась) и юзать ее.
Просто когда читаешь код к примеру wordpressa, то там буквально все усеянно ими.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Константы могут быть определены и доступны в любом месте без учета области видимости;
Константы не могут быть определены или аннулированы после первоначального объявления;
 

valeraorg

Новичок
усли переменная определена в теле контроллера (к примеру) то она тоже дотупна везде насколько я понимаю
 

whirlwind

TDD infected, paranoid
> Почему к примеру нельзя создать переменную в большом регистре

Потому что значение переменной не константно.
 

valeraorg

Новичок
Автор оригинала: Gas
а с какой кстати она должна быть доступна в модели?
Ваш ответ натолкнул меня на правильную мысль. Теперь сам буду их юзать.
Ответ прост. К примеру в ф-ях и методах она будет недоступна. Есть конечно выход использовать глобалы - но это плохая привычка, а передавать переменные по ссылке, лишний раз путать кодера. Вывод - это просто упрощает немног жизнь!.
 

berkut

Новичок
не правильные выводы

-~{}~ 18.06.08 17:30:

не правильные выводы

-~{}~ 18.06.08 17:31:

следующим вопросом будет: как изменить знчение константы
 

valeraorg

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

Angerslave

Новичок
Неправильно. Константы нужны для того, чтобы знать, что значит if ($some_var < 16), например. То есть для устранения "магических чисел".
 

valeraorg

Новичок
Автор оригинала: Angerslave
Неправильно. Константы нужны для того, чтобы знать, что значит if ($some_var < 16), например. То есть для устранения "магических чисел".
Да нет ребятки что то вы не то говорите http://phpclub.ru/faq/LanguageConstants и в мануале примерно тоже.

-~{}~ 19.06.08 09:36:

или я вас неправильно понял? тогда объясните.
Но помоему то что я хотел понять я понял.
 

Beavis

Banned
error_reporting(E_ALL | E_STRICT);

error_reporting(6143 | 2048);

одно и то же, а разницу чувствуешь?
 

MiksIr

miksir@home:~$
например
if ($flag & 1) ....
if ($flag & 2) ...
if ($flag & 4) ...
и сравни с
define('IS_HOT', 1);
define('IS_WHITE', 2);
define('IS_BIG', 4);
...
if ($flag & IS_HOT) ....
if ($flag & IS_WHITE) ...
if ($flag & IS_BIG) ...

1. читабельность
2. реюзание, т.е. легкость изменения по всему коду
 

HraKK

Мудак
Команда форума
не только.

--------------------------------------------------------------------------------


Константы могут быть определены и доступны в любом месте без учета области видимости;
Константы не могут быть определены или аннулированы после первоначального объявления;


--------------------------------------------------------------------------------
 
Сверху