【发布时间】:2011-06-03 00:11:48
【问题描述】:
我有大约 30 个变量硬编码到一个 php 脚本中,我需要将它们全部删除并将它们放到自己的位置。我想知道,应该将它们定义为常量、全局变量,将它们放入一个类中,将它们放入一个单独的文件中,或者其他的东西。
另外,我很好奇如何定义一个常量数组。
那么,你认为正确的方法是什么?
【问题讨论】:
标签: php variables constants globals
我有大约 30 个变量硬编码到一个 php 脚本中,我需要将它们全部删除并将它们放到自己的位置。我想知道,应该将它们定义为常量、全局变量,将它们放入一个类中,将它们放入一个单独的文件中,或者其他的东西。
另外,我很好奇如何定义一个常量数组。
那么,你认为正确的方法是什么?
【问题讨论】:
标签: php variables constants globals
这完全取决于它们是什么,它们代表什么以及它们的含义。你的问题太模糊了。
你不能定义一个常量数组,或者一个常量是一个数组。
【讨论】:
这取决于这些变量代表什么,它们将在哪里使用,以及它们将如何使用。这些变量都相关吗?
至于定义一个常量数组...一种方法就是创建an array。这个数组实际上不会是“常量”,尽管值可以被覆盖。
$constArr = array(
"companyAddress" => "123 Fake St" ,
"companyCity" => "Queens" ,
"companyState" => "NY" ,
"companyActive" => true
);
那么你可以像这样访问你的“常量”......
echo $constArr["companyAddress"];
【讨论】:
如果你想要做的是“定义一个常量数组”,我会这样做。
$constantsToDefine = array(
'PORT' => 80,
'NUMBER_OF_LEGS' => 10
);
foreach ($constantsToDefine as $key => $value) {
define(strtoupper($key), $value);
}
【讨论】:
在我们编写的几个较大的应用程序中,我们将所有“常量”变量放入一个“包含”文件中,然后使用define 函数定义它们。然后,我们只需将该文件包含在所有其他页面中。
例如,我们的包含文件如下所示:
define(CONSTANT_ONE, 1);
define(CONSTANT_TWO, TRUE);
然后,我们将require_once('includes.php'); 放在其他脚本的顶部。
显然,将它们全部放在一个文件中的好处是集中控制。
【讨论】:
常量不是一个坏主意,因为它不会被覆盖
或者你可以考虑parse_ini_file
【讨论】: