当前位置: 首页 > 面试题库 >

在PHP中重新定义常量

阎唯
2023-03-14
问题内容

是否可以重新定义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用户数据中而不是在实例中使用变量。

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


问题答案:

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

runkit_constant_redefine("name", "value");

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



 类似资料:
  • 问题内容: 如果我有一个功能: 如果我想重新定义该函数,它会像重写它一样简单吗? 问题答案: 不,这会引发错误: Runkit提供的选项包括和。

  • 问题内容: 我想重新定义PHP中已经构建的某些函数,例如echo()或time()-我不需要在一个测试脚本中就全局定义这些函数。 我认为这可以在Perl中完成,但可以在PHP中执行-这可能吗? 问题答案: runkit_function_redefine —用新的实现替换函数定义 注意: 默认情况下,只能删除,重命名或修改用户空间功能。为了覆盖内部功能,必须在php.ini中启用runkit.in

  • 在laravel中,没有定义常量文件,所以我继续寻找一种实现常量使用的方法。下面的方法是我设法组合起来的: 现在,我的问题是;在我看来,有没有更干净的方法来检索我的常量?类似的东西: 这是为了保持我的观点好,短和干净。 感谢您的投入!

  • 问题内容: 对于横幅广告管理系统,我使用 重定向到正确的网站。是否可以强制此标头脚本在新窗口中打开? 问题答案:

  • 问题内容: 有人可以解释一下使用之间的区别吗 和 也许彼此之间有好处? 我到处都使用变量,甚至在每个页面都包含的配置类型文件中,我仍然使用变量,因为我不明白为什么要使用define方法。 问题答案: DEFINE使常量,并且常量是全局的,可以在任何地方使用。它们也不能重新定义,可以是哪个变量。 我通常将DEFINE用于Configs,因为事后没有人可以将其弄乱,而且我可以在没有全局关联的情况下在任

  • 我有这行代码在PHP中读取一个文件的CSV格式与MySQL数据库的结构,并显示创建它所需的SQL代码。我在这里遇到的唯一问题是,我不能打印出主键变量,因为它说它没有定义,即使我之前定义了它。有人能帮我解释一下为什么会出现这个错误吗?这是我的代码: