我正在手工制作自己的PHP定制CMS,我定义了一些常量。有没有简便的方法来修改这些常量?
我在考虑使用fopen()
这样的函数进行更改,但我从未使用过文件系统函数。
我正在手工制作自己的PHP定制CMS,我定义了一些常量。有没有简便的方法来修改这些常量?
我在考虑使用fopen()
这样的函数进行更改,但我从未使用过文件系统函数。
常量是恒定的,因此无法更改。 如果您想更改服务器常量,例如allow_url_fopen,那就是主机的责任。请向他们询问。
如果要在PHP中更改它们,请使用变量。
如果事实就像Corbin所说,并且您想在安装中修改它们,则需要执行以下操作:1.将常量值更改为%%constant1
,例如。2.将代码读入变量中。3.让用户设置变量。4.对所有变量使用str_replace("%%constant1", $_POST["value1"], $configfile)等函数。5.将$configfile添加为文件的内容。
对于您自己的CMS,我建议将所有常量存储在一个文件中,这样您只需要编辑一个文件即可。也许之前的解决方案可以用于更轻松的编辑,但我不知道是否值得花时间。
不可以修改常量。
我认为OP的意思是在安装脚本的情况下,OP想要将输入变量存储到配置文件中,在安装完成后在OP的CMS中使用。
在这种情况下,OP并没有在运行时更改常量。
OP可能得到了像这样的文件:
define(DB, '');
define(USER, '');
define(PASS, '');
define(HOST, '');
而且 OP 想要创建一个脚本来填充这些常量的数据,以便在 CMS 中使用。
常量意味着其值是恒定不变的,因此您无法更改常量。如果您需要更改常量,则需要使用变量而不是常量:
define('ROOT', '/some/path');
echo ROOT; // Echoes /some/path
define('ROOT', '/some/other/path'); // Gives an error
echo ROOT; // Gives /some/path (if there were no error
$root = '/some/path';
echo $root; // Echoes /some/path
$root = '/some/other/path';
echo $root; // Echoes /some/other/path