Есть ли способ определить константу внутри функции класса?
Пример:Определение константы класса PHP в функции
class ExampleApp
{
const FORM = TRUE;
public function __construct()
{
switch(Base::color())
{
case 'green':
self::FORM = 'G';
break;
case 'red':
self::FORM = 'R';
break;
default:
self::FORM = 'W';
break;
}
}
public function process() { return TRUE; }
}
Приведенный выше пример кода не будет работать, очевидно!
Из моего знания программирования вы не можете переопределить константы, иначе они будут «константами». Но как вы определяете costant внутри функции ?! В моем примере эта функция является конструктором, или это совершенно невозможно?
Вы можете использовать 'define' объявить константу во время выполнения вместо синтаксического анализа времени. Я бы просто использовал переменную и обещал не изменять ее. –
Похоже, что существует некоторая путаница в отношении 'constant' versus' static' – Motes