有人可以解释使用
之间的区别define('SOMETHING', true);
和
$SOMETHING = true;
也许是其中之一的好处?
我在各处使用变量,甚至在每个页面都包含的配置类型文件中我仍然使用变量,因为我不明白为什么要使用define方法。
答案 0 :(得分:83)
DEFINE是一个常量,常量是全局的,可以在任何地方使用。它们也无法重新定义,哪些变量可以。
我通常使用DEFINE for Configs,因为没有人可以在事后处理它,我可以在任何地方查看它而不需要全局查询,以便于检查。
答案 1 :(得分:13)
一旦定义,'常量'不能在运行时更改,而普通变量赋值可以。
对于配置指令之类的事情,常量更好,在执行期间不应该更改。此外,如果意图保持不变的值明确地,则代码更容易阅读(以及维护和切换)。
答案 2 :(得分:7)
define()生成只读变量。
答案 3 :(得分:5)
范围也有差异。
在orignal海报提供的示例中,$SOMETHING
将无法在函数中访问,而define('SOMETHING', true)
将是。{/ p>
答案 4 :(得分:1)
当您想要从函数内部访问数据时,常量非常有用,请检查
<?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中的tech 嘿,你可以从函数外面看到我