使用未定义常量 PHP ver 7.2
Use of undefined constant PHP ver 7.2
好像有很多关于这个主题的帖子,但是这个案例似乎不一样。
在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
基本上第一个define接受,第二个不接受....难道代码只处理一次吗?或者某种预处理器 运行 预先抛出错误,就好像常量被定义了两次一样?
应该是:
define('AH_DEBUG_MODE', true);
具有:define(AH_DEBUG_MODE, true)
您强制 PHP 评估一个显然尚未定义的常量 AH_DEBUG_MODE
的值。
您的代码可以简化为:
define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
您的代码应该用引号将常量名称引起来。在 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);
}
好像有很多关于这个主题的帖子,但是这个案例似乎不一样。
在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
基本上第一个define接受,第二个不接受....难道代码只处理一次吗?或者某种预处理器 运行 预先抛出错误,就好像常量被定义了两次一样?
应该是:
define('AH_DEBUG_MODE', true);
具有:define(AH_DEBUG_MODE, true)
您强制 PHP 评估一个显然尚未定义的常量 AH_DEBUG_MODE
的值。
您的代码可以简化为:
define('AH_DEBUG_MODE', !empty($_GET['rxdebug']) || AH_DEBUG);
您的代码应该用引号将常量名称引起来。在 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);
}