【发布时间】:2009-08-03 23:18:10
【问题描述】:
谁能解释一下使用的区别
define('SOMETHING', true);
和
$SOMETHING = true;
也许两者之间的好处?
我在任何地方都使用变量,甚至在每个页面都包含的配置类型文件中我仍然使用变量,因为我不明白为什么要使用 define 方法。
【问题讨论】:
标签: php
谁能解释一下使用的区别
define('SOMETHING', true);
和
$SOMETHING = true;
也许两者之间的好处?
我在任何地方都使用变量,甚至在每个页面都包含的配置类型文件中我仍然使用变量,因为我不明白为什么要使用 define 方法。
【问题讨论】:
标签: php
DEFINE 是一个常量,常量是全局的,可以在任何地方使用。它们也不能重新定义,哪些变量可以。
我通常将 DEFINE 用于 Configs,因为事后没有人可以弄乱它,而且我可以在任何地方检查它而无需 global-ling,从而更容易检查。
【讨论】:
一旦定义,“常量”就不能在运行时更改,而普通的变量赋值可以。
常量更适合在执行期间不应更改的配置指令之类的东西。此外,如果 明确 使本来应该保持不变的值变得如此,则代码更易于阅读(以及维护和移交)。
【讨论】:
范围也有区别。
在原始海报给出的示例中,$SOMETHING 将无法在函数中访问,而 define('SOMETHING', true) 可以。
【讨论】:
define() 与支持读写操作的标准变量相比,创建一个只读变量。
【讨论】:
当你想从函数内部访问数据时,常量非常有用,检查一下
<?php
function data(){
define("app","hey you can see me from outside the function",false);
$tech = "xampp";
}
data();
echo $tech;
echo app;
?>
如果你使用变量,你永远不会得到内部值,这就是我得到的
注意:未定义变量:第 8 行 D:\xampp\htdocs\data\index.php 中的技术 嘿,你可以从函数外看到我
【讨论】: