我正在为Web项目创建一个安装页面,以便在它生效之前定义所有配置变量和常量。我考虑将这些配置变量保存在数据库中,但项目经理希望将它们保存在文件中。所以出现了我的问题。如何定义这些变量,使用const或define将适用于此作业? 实施例
<?php
$email_parameter="example@stackoverflow.com"//we need to set this at install.php page and keep it that way
?>
答案 0 :(得分:1)
您可以使用模式注册表
nil
答案 1 :(得分:0)
您需要的是define
define('__CONSTANT_NAME__', 'example@stackoverflow.com');
答案 2 :(得分:0)
定义,定义('const_name','const_value')
<强>常量强>
<强>但是强>
所以,我建议你的安装脚本写一个配置文件,例如 config.inc 包含收集值的 define 语句。然后让运行时脚本包含(执行)它: require_once()。
如果(可能更晚)构造类似数组应该初始化,安装脚本也可以添加这些语句......以及更多(甚至定义类)。
执行(而不是阅读)配置文件:
最后,我从未测量过执行和读取配置文件之间的巨大差异。并且 - 由于配置文件是由安装脚本编写的,而不是手动修改,因此插入语法错误的方面并不重要。
答案 3 :(得分:0)
好吧,我检查了你所有的答案,我感谢你,帮助我为我找到了正确的道路(至少有一个满足我的“项目经理”。)。我最终得到了以下解决方案:(那些价值观是例如)
$f=fopen("config.php","w");
$database_inf="<?php
define('DATABASE_HOST', '".$database_host."');
define('DATABASE_NAME', '".$database_name."');
define('DATABASE_USERNAME', '".$database_username."');
define('DATABASE_PASSWORD', '".$database_password."');
define('ADMIN_NAME', '".$admin_name."');
define('ADMIN_PASSWORD', '".$admin_password."');
?>";
if (fwrite($f,$database_inf)>0){
fclose($f);
}
这只是一个例子来说明我是怎么想出来的。首先,我创建并安装php,并在没有配置文件设置时为该页面设置默认URL路由。然后我问用户输入的实际值并将它们保存在变量中。最后,我创建了一个配置文件并将其打包。我希望这可以帮助一些处理类似情况的其他人。