在 Yii 中他们使用这段代码:
defined('YII_DEBUG') or define('YII_DEBUG',true);
我以前(或)从未见过有人这样写过。这是真正的 php 代码还是 yii 的一些语法?
最佳答案
基本上,如果 defined("YII_DEBUG")
的计算结果为 false,它就会定义它。有点像:
mysql_connect() 或 die("DIE!!!!!");
这是实际的 PHP 语法,只是不常用。它让你不必写:
if(!defined("YII_DEBUG"))
{
define("YII_DEBUG", true);
}
甚至更短
if(!defined("YII_DEBUG"))
define("YII_DEBUG", true);
我猜他们用它来完全摆脱 if 语句。没有括号的第二个 if 语句会存在编辑风险,而第一个 if 语句可能为开发人员占用了太多空间。
就我个人而言,我不会这么做只是因为它不是一个众所周知的功能。通过使用众所周知的语法(if 语句),其他程序员不必怀疑它的作用。
(虽然,我现在可能会看到它。看起来很简单并且摆脱了不必要的 if 子句)
关于php: 定义的用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2188692/