Класс Singleton или нет, константы являются глобальными и константами . Однажды define
d они не могут быть неопределенными или измененными. Если вам нужно изменить значение, используйте переменную . В этом случае, вероятно, переменная класса static
.
Судя по вашим комментариям, вы, похоже, неправильно понимаете, когда определены константы.
Возможно:
define('FOO', rand());
Константа будет иметь другое значение каждый раз, когда выполняется скрипт (каждый раз, когда страница посещается).
Не возможно:
define('FOO', 'bar');
define('FOO', 'baz');
Константы не могут быть изменены во время того же запроса .