这个PHP语法是否正确?

Sta*_*ann 5 php syntax shorthand

嘿伙计:)需要帮助.我目前正在研究ZEND框架并在index.php中遇到过这个问题:

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
Run Code Online (Sandbox Code Playgroud)

这是一样的吗?:

if(!defined('APPLICATION_PATH')){
define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
}
Run Code Online (Sandbox Code Playgroud)

我以前从未遇到过这种简写语法......

Bla*_*iev 5

||是一个短路运算符,这意味着第二个操作数,在这种情况下define(...)仅在第一个操作数求值为false的情况下进行求值.因为衬衫电路操作员的操作数实际上可能会产生副作用,所以短路可能会取代if声明.

查看这篇文章:http://en.wikipedia.org/wiki/Short-circuit_evaluation