一尘不染

在PHP中重新定义常量

php

是否可以重新定义define函数定义的php中的常量?我有一个带有几个包含用户数据的常量的类。我正在尝试为多个用户使用该类。

define('ALLEGRO_ID', 'id');
define('ALLEGRO_LOGIN', 'login');
define('ALLEGRO_PASSWORD', 'passwd');
define('ALLEGRO_KEY', 'key');
define('ALLEGRO_COUNTRY', 123);

$allegro = new AllegroWebAPI( );                
$allegro -> Login();

我没有编写此类,但由于时间限制,我正在使用它。我不知道为什么此类的创建者为什么要在defined用户数据中而不是在实例中使用变量。

我知道常量应该是常量(很明显!),但是我正在寻找重新定义它们的技巧。


阅读 1157

收藏
2020-05-29

共1个答案

一尘不染

如果安装了runkit扩展,则可以使用runkit_constant_redefine()

runkit_constant_redefine("name", "value");

但是,在大多数情况下,最好重新评估为什么使用常量而不是更合适的常量。

2020-05-29