PHP中的DEFINE与variables

有人可以解释使用之间的差异

define('SOMETHING', true); 

 $SOMETHING = true; 

也许一个或另一个之间的好处?

我使用variables无处不在,甚至在包含到每个页面的configurationtypes文件中,我仍然使用variables,因为我不明白为什么要使用define方法。

DEFINE是一个常量,常量是全局的,可以在任何地方使用。 它们也不能被重新定义,哪些variables可以。

我通常使用DEFINE作为configuration,因为没有人可以在事后处理它,而且我可以在任何地方检查它,而不用全局configuration,以便于检查。

一旦定义,“常量”不能在运行时改变,而普通的variables赋值可以。

常量对于像configuration指令这样的东西更好,在执行过程中不应该改变它。 此外,如果明确地规定值是恒定的,则代码更容易阅读(并保持和移交)。

与支持读取和写入操作的标准variables相比, define()会生成一个只读variables。

范围也有所不同。

在由原始海报给出的例子中, $SOMETHING将不能在函数内访问,而define('SOMETHING', true)将会是。

当你需要从一个函数内部访问数据时,常量是非常有用的,请检查这个

 <?php function data(){ define("app","hey you can see me from outside the function",false); $tech = "xampp"; } data(); echo $tech; echo app; ?> 

如果你使用一个variables,你永远不会得到里面的值,这是我得到的

注意:第8行D:\ xampp \ htdocs \ data \ index.php中的未定义variables:tech嘿,你可以从函数的外部看到我