在Yii他们使用这个代码:
defined('YII_DEBUG') or define('YII_DEBUG',true);
Run Code Online (Sandbox Code Playgroud)
我以前从未见过有人这样写过(或).这是真正的PHP代码或yii的一些语法?
基本上,如果defined("YII_DEBUG")计算结果为false,则它将定义它.有点像:
mysql_connect() or die("DIE!!!!!");
它是实际的PHP语法,只是不常用.它允许您不必写:
if(!defined("YII_DEBUG"))
{
define("YII_DEBUG", true);
}
Run Code Online (Sandbox Code Playgroud)
甚至更短
if(!defined("YII_DEBUG"))
define("YII_DEBUG", true);
Run Code Online (Sandbox Code Playgroud)
我猜他们用它来完全摆脱if语句.没有括号的第二个if语句会对编辑造成危害,第一个可能占用了开发人员太多的空间.
就个人而言,我只是因为它不是一个众所周知的特征而明确这一点.通过使用众所周知的语法(if语句),其他程序员不必怀疑它的作用.
(虽然,我现在可能会看到它.看起来很简单,如果从句中删除了unnessecary)