недостаток констант

tony2001

TeaM PHPClub
недостаток констант

Surprisingly, you will find very few constants in symfony. This is because constants have a major drawback in PHP: you can't change their value once they are defined.
(c) http://www.symfony-project.com/book/trunk/02-Exploring-Symfony-s-Code#Constants

"Удивительно, но вы найдете очень мало констант в коде Sympfony. Это потому, что у констант в PHP есть серьезный недостаток - они не могут менять значение."

Made my day, однозначно.
 

phprus

Moderator
Команда форума
Господи!!! Я уже более 4-х лет занимаюсь программированием и я даже представить себе не мог каким недостатком обладают константы!!! Да снизойдет вечная благодать на авторов этой статьи, которые открыли мне глаза и указали на истинный недостаток констант!
 

kruglov

Новичок
Ну, константа, она как бы объединяет в себе 2 ипостаси:
1. она суперглобальная
2. она неизменная
И все это только в комплекте.
 

phprus

Moderator
Команда форума
kruglov
1. она суперглобальная
Если у нас есть php5, то можно завернуть константу в класс и тогда для ее вызова надо будет указывать имя класса, тоесть не будет засоряться глобальная область видимости.

2. она неизменная
Вообщето константы по тому и названы константами, что они не изменяемые.
 

kruglov

Новичок
phprus
Ну, может кому-то была нужна именно суперглобальность...
 

desperado

Новичок
остается найти фреймворк, в котором говориться, что у переменных есть серьезный недостаток - они могут менять значение

(%
 

Sokil.Dmytro

Новичок
ыыыы

а на си насколько мне известно можно сделать

define(true, false);

узнал из баша :)
 

nw

Новичок
Чем смеяться, лучше бы написали патч для PHP, который позволял бы константам менять значение :)
И заодно другой патч - чтобы переменные не могли менять значения, а то бывает не уследишь и бац! - переменная уже поменяла значение и код работает криво.
:) :)
 

phprus

Moderator
Команда форума
nw
Есть уже такой патч. Гильотина называется. 100% помогает, при кривых руках или ошибке в ДНК. :))))))
 

tf

крылья рулят
phprus, это жестко, негуманно, и по варварски
надо проще, веревка и камень в реку
а так, кто пятна отмывать будет???
 
Сверху