PHP - 定义变量的不同方法?

Pet*_*ter 1 php

定义变量有什么区别

define('SITENAME', "My Site");
Run Code Online (Sandbox Code Playgroud)

$sitename = "My Site";
Run Code Online (Sandbox Code Playgroud)

哪种方式更好地定义配置变量(例如站点名称/ URL等)?谢谢.

Jon*_*Jon 5

这是常量的定义:

define('SITENAME', "My Site");
Run Code Online (Sandbox Code Playgroud)

您无法更改该值,也不会使用$前缀来引用它.一般来说,它与变量没有任何关系.

是一个变量:

$sitename = "My Site";
Run Code Online (Sandbox Code Playgroud)

对于在执行PHP脚本期间不会发生变化的值(例如某些配置参数),定义常量可能更好.此外,常量具有全局范围(您不能也不需要制作它们global).

另一方面,请记住,您不能迭代一堆常量,因为您可以迭代一组值.例如,您无法$config在不知道事先感兴趣的值的情况下传递数组并从中读取多个值.

通常,常量用于可能影响整个应用程序行为的选项,例如:

define('DEBUG', 1);
Run Code Online (Sandbox Code Playgroud)

对于其他情况,变量更方便,因此即使技术上它们的值在应用程序运行期间保持不变,它们也是常用的.