我有大约 30 个变量硬编码到一个 php 脚本中,我需要将它们全部删除并将它们放到自己的位置。我想知道,应该将它们定义为常量、全局变量、将它们放入一个类中、将它们放入一个单独的文件中,或者其他什么东西。
另外,我很好奇如何定义一个常量数组。
那么,你认为正确的方法是什么?
constant is not a bad idea as it does not get overridden
or you can consider parse_ini_file
它确实取决于这些变量代表什么,它们将在哪里使用,以及它们将如何使用。这些变量都相关吗?
至于定义一个常量数组......一种方法就是创建一个数组。这个数组实际上不会是“常量”,尽管值可以被覆盖。
$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');
在其他脚本的顶部。
显然,将它们全部放在一个文件中的好处是集中控制。
这完全取决于它们是什么,它们代表什么以及它们的含义。你的问题太模糊了。
您不能定义常量数组或作为数组的常量。