【发布时间】:2011-12-27 07:46:51
【问题描述】:
我目前正在编写一个网站(使用 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."
当我不小心输入错误的常量名时,我发现一个错误消息和返回值“NULL”的解决方案是使用函数constant():
define("VERSION", "1.0");
echo "Current version: ".constant("VERSIONXXX")."."; // Result: "Current version: ."
问题 2:我能否以不同的方式防止 PHP 返回不存在变量的名称?
问题 3:PHP 中常量的值是否应该总是使用函数constant()返回?
【问题讨论】:
-
你有什么理由留在不再活跃的 PHP4 上?