Остальные постеры верны - вы не можете этого сделать.Но, возможно, вы можете переместить определение в точку, где вы знаете, какое будет лучшее значение для константы.
Возможно, вы определяете константы в большом списке:
define('STRING1','Foo');
define('STRING2', 'Bar');
define('STRING3', 'Baz');
иВы хотите изменить значение STRING2, как только обнаружите условие.Один из способов - отложить определение до тех пор, пока вы не узнаете правильную настройку.
define('STRING1','Foo');
// define('STRING2', 'Bar'); -- wait until initialization
define('STRING3', 'Baz');
...
if (condition) {
define('STRING2', 'Bar type 2');
} else {
define('STRING2', 'Bar type 1');
}
Логическая настройка STRING2 может даже находиться в другом файле, позже в процессе обработки.