我想知道何时应该使用常量,何时应该使用PHP中的变量 E.g。
define ("haha", "too bad");
$haha = "too bad";
答案 0 :(得分:3)
首先,我建议不要使用常量来配置这些建议。这将使您的代码难以测试(针对测试环境),而且在您必须编辑应用程序配置代码的情况下部署代码非常不寻常。
您大部分时间都会使用变量。这会带来什么时候应该使用常量的问题。我想到了这些观点:
STATE_NEW
,STATE_OLD
,STATE_DELETED
答案 1 :(得分:0)
将常量用于您只定义一次的值,并且您知道在脚本中不会再次更改它们,通常是一些配置信息,例如
define("MYSQLUSER", "root");
define("MYSQLHOST", "localhost");
...
为脚本中的所有动态值使用变量,例如
$a = 1 * 2;
$b = $a % 4;
此外,您可能需要查看PHP手册或您正在学习PHP的资源,因为这非常基础,应该可以通过Google轻松找到。
答案 2 :(得分:0)
DEFINE是一个常量,常量是全局的,可以在任何地方使用。它们也无法重新定义,哪些变量可以。
我通常使用DEFINE for Configs,因为没有人可以在事后处理它,我可以在任何地方查看它而不需要全局查询,以便于检查。
正如我们的朋友@TecBrat在回顾中提醒的那样,PHP开发人员也使用magic numbers的常量。通常用于比特掩码值。
答案 3 :(得分:0)
我对我知道不会改变的事情使用常数,并且对代码更重要'
例如,我在定义工作目录时使用它:
$base_url = '/subfolder/';
$doc_root = $_SERVER['DOCUMENT_ROOT'].$base_url;
define("DOC_ROOT", $doc_root);
后来,当我必须包含文件......
include(DOC_ROOT.'includes/header.php');
这是个人偏好。
答案 4 :(得分:0)
两者之间的主要区别是常量不能在运行时更改;换句话说,一旦设置常量就不能赋值。对于那些只会很少变化的事情来说,这些都很棒。如果您知道任何Java:PHP常量与那里的公共静态最终变量非常相似。
另一方面,变量没有这样的限制。
如果有任何更改,您需要在执行脚本期间更改值,您需要使用变量。