我目前正在编写一个网站(使用PHP4)。我计划将不会在运行时更改的值保存在常量中。例如,登录数据库的版本号。
问题1:将数据保存在常量中是否可能出现任何(安全相关的)问题?
我目前这样定义和调用常量:
define("VERSION", "1.0");
echo "Current version: ".VERSION."."; // Result: "Current version: 1.0."
有一件事情让我很烦恼:如果常量未定义,则返回的是“错误”的变量名称,而不是例如NULL
。
define("VERSION", "1.0");
echo "Current version: ".VERSIONXXX."."; // Result: "Current version: VERSIONXXX."
我发现一个解决方案,当我误输入错误的常量名称时,可以使用函数constant()
来获取错误消息和返回值“NULL”:
define("VERSION", "1.0");
echo "Current version: ".constant("VERSIONXXX")."."; // Result: "Current version: ."
问题2:我能以其他方式防止PHP返回不存在变量的名称吗?
问题3:在PHP中,常量的值是否总是使用函数constant()
返回?