php:define的用法

ajs*_*sie 2 php

在Yii他们使用这个代码:

 defined('YII_DEBUG') or define('YII_DEBUG',true);
Run Code Online (Sandbox Code Playgroud)

我以前从未见过有人这样写过(或).这是真正的PHP代码或yii的一些语法?

Tyl*_*ter 5

基本上,如果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)