【问题标题】:How to undeclare an already declared class? [duplicate]如何取消声明已声明的类? [复制]
【发布时间】:2014-03-23 20:08:48
【问题描述】:

假设一个 PHP 脚本使用 A 类 的方法,然后 重新生成 A 类的新源代码

如果 A 类已经声明,PHP 是否提供了一种方法来取消声明 A 类,以便我可以重新要求新创建的 A 类源? p>

“已经声明”是指一个类的源代码已被解析,因此类名已定义并绑定到类定义。

2014 年 2 月 22 日更新

RunKit 确实提供了runkit_constant_remove。如果不使用 RunKit,似乎没有一种方法可以取消声明/取消定义类

【问题讨论】:

  • 1) 通过反射 API 生成? 2)你是什么意思已经定义?包括? 3)(建议)将新代码放在不同的位置并从那里要求它。如果使用命名空间,只需将其从使用原始类 A 的名称更改。

标签: php object


【解决方案1】:

这在 PHP 中是不可能的。有用于定义方法、在运行时扩展类等的扩展,但没有用于完全取消定义类的扩展,因此您可以重新定义它。

【讨论】:

    猜你喜欢
    • 2011-01-15
    • 1970-01-01
    • 2013-08-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-15
    • 2013-08-07
    • 2015-03-14
    相关资源
    最近更新 更多