php - 在 PHP 中定义或定义

标签 php

<分区>

Possible Duplicate:
Why 'defined() || define()' syntax in defining a constant

这段代码是由Zend Framework提供的zf工具创建的。

defined('APPLICATION_PATH') || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));

我的问题是: 这行代码的目的是什么?没有if、switch等条件语句。它是否自动暗示条件语句?

我是这样理解的: 如果定义了 APPLICATION_PATH,请不要管它,否则将其设置为:realpath(dirname(__FILE__) . '/../application')

如果我的假设是正确的,那么这是一个非常令人困惑的语法。

我们将不胜感激。

最佳答案

你的假设是正确的。这只是一种简写方式

if (!defined('APPLICATION_PATH')) {
  define('APPLICATION_PATH', '...');
}

你可以很容易地测试这个:

define("foo", "bar");
defined("foo") || define("foo", "baz");
var_dump(foo);

输出为 bar

//define("foo", "bar");
defined("foo") || define("foo", "baz");
var_dump(foo);

输出是baz

关于php - 在 PHP 中定义或定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7729838/

相关文章:

javascript - jQuery [button.class] 未检测到添加带有按钮的行

php - 将 user_table 中的数据插入 currency_table

php - 如何将数组插入MYSQL数据库?

php - preg_replace 超链接问题

Php foreach-为什么它在迭代时不覆盖数组值?

php - 如何使用字符串值查询 Google Spreadsheets API?

PHP OOP 学习曲线 - MySQL 对象失败

php - 在php中按日期降序排列数组

php - 如何在php codeigniter中获取输入字段的隐藏ID

PHP 插入数组值、表名