Использование неопределенной константы PHP ver 7.2 - PullRequest
0 голосов
/ 28 февраля 2019

Похоже, что на эту тему довольно много сообщений, но этот случай выглядит иначе.

В версии PHP больше или равно 7,2 следующий код:

if (!empty($_GET['rxdebug']) || AH_DEBUG){
    define(AH_DEBUG_MODE, true);
}else{
    define(AH_DEBUG_MODE, false);
}

Выдаст ошибку во второй строке определения define(AH_DEBUG_MODE, false);

Use of undefined constant AH_DEBUG_MODE- assumed 'AH_DEBUG_MODE' (this will throw an Error in a future version of PHP) in some-file.php on line xxx

В основном первое определение принято, второе нет .... Разве код не обрабатывается только один раз?Или что-то вроде препроцессора запускается заранее, выдавая ошибку, как если бы константа была определена дважды?

Ответы [ 2 ]

0 голосов
/ 28 февраля 2019

Ваш код должен заключать имя константы в кавычки.Проверьте руководство по http://php.net/manual/en/function.define.php

if (!empty($_GET['rxdebug']) || AH_DEBUG){
    define('AH_DEBUG_MODE', true);
}else{
    define('AH_DEBUG_MODE', false);
}
0 голосов
/ 28 февраля 2019

Должно быть:

define('AH_DEBUG_MODE', true);

Имея: define(AH_DEBUG_MODE, true), вы заставляете PHP вычислять значение постоянной AH_DEBUG_MODE, которая явно еще не определена.

Ваш код может бытьупрощено до:

define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
...