2009-10-15 77 views
1

我有一个守护进程在后台处理相当多的MVC逻辑,包括它需要的类。然而,有时候,它会在一个周期内包含来自不同模块的两个相同命名的类。理想情况下,我想在再次包含它之前对其进行“undeclare”,但在PHP手册中找不到,如果可能的话。Undeclare a class in PHP

事情是这样的:

//first foo 
class foo(){ 

} 

//undeclare foo 
undeclare foo; 

//create new foo 
class foo(){ 

} 

回答

10

这是不可能的 “undeclare” 一类。

你或许应该看看PHP的namespacing或者,使用约定命名相似的类

Application_Module_Class 

,这样你就可以调用

$x = new Application_Foo_Bar; 

包括来自于Foo模块的酒吧类

这也很适合使用autoload功能

+0

不幸的是,这些解决方案目前都不可能适用于我的情况。 – clops

+0

你使用PHP 5.3吗?这将提供一个解决方案。 – powtac

+0

在当前状态下,应用程序无法移植到PHP 5.3。它超过250 Mb的代码;) – clops