可以删除包含的类吗?

时间:2011-04-12 13:18:05

标签: php kohana

我在CMS上使用第三方文件管理器插件,我想要从我正在使用的PHP框架中包含身份验证检查。验证部分工作正常,只是一个简单的包含然后验证,然而似乎在包含的类和文件管理器的类之间存在一些冲突。例如,我得到一个“类Kohana未找到”错误,其中属于文件管理器的类试图实例化属于该框架的类。

在我的文件管理器主条目文件的顶部,我有以下内容:

//load Kohana framework for Authorisation
include('../../../../../admin/index.php');

// If not a valid authenticated user, kill page
if ( ! Auth::instance()->logged_in())
{
    die('Unauthorized');
}

完成身份验证后,我不再需要包含的文件和类,因为它们似乎与文件管理器冲突。有没有办法可以做到这一点,或者我误解了这里发生了什么?

抛出的错误发生在文件管理器类中 - public_html / media / js / tiny_mce / plugins / ajaxfilemanager / inc / class.file.php [67]

function file($path=null)
{
    $this->__construct($path);
}

1 个答案:

答案 0 :(得分:3)

Class xyz not found不是冲突的标志 - 它可能不会被加载的Kohana引导程序。

没有办法在PHP脚本中“卸载”类。如果两个包共享一个类名,则必须在单独的脚本中加载它们,或者将其中一个包移到单独的namespace中(需要PHP 5.3+)。但如上所述,在您的情况下,您可能只需要加载正确的引导程序文件以包含所需的类。