【发布时间】: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 的名称更改。