最短的检查方式,如果常量定义而不是空的

时间:2016-08-12 09:20:48

标签: php

编辑:

这个问题没有'已经被问到了,所以,在CLOSING之前,请先阅读它。

的问题:

有三种可能的变化:

define('my_constant',  'something');
// or
define('my_constant',  '');
// or
'my_constant' not defined at all

是最短路,而不是:

if (defined('my_constant') && my_constant!='') 

P.S。如果没有定义,if(!empty(my_constant))会抛出错误。

2 个答案:

答案 0 :(得分:0)

if (!defined('MY_CONSTANT')) {
    die("constant is not defined");
}
if (empty(MY_CONSTANT)) {
    die("constant is defined, but empty");
}

OR

if (!defined('MY_CONSTANT') || empty(MY_CONSTANT)) {
    die("constant is not defined or empty");
}

答案 1 :(得分:0)

Joomla在整个地方使用它:

defined('_JEXEC') or die;

Documentation on php.net