【发布时间】:2012-01-21 04:41:42
【问题描述】:
我将通过 SPL 自动加载器调用创建新对象。 但是我无法创建已经被加载器包含的类的新对象。不知道为什么,但我不想使用 eval,我在哪里可以找到答案?对不起我的英语不好..
没什么奇怪的简单代码:
class load
{ public static function init()
{return spl_autoload_register(array(__CLASS__, "hook"));}
public static function quit()
{return spl_autoload_unregister(array(__CLASS__, "hook"));}
public static function hook($class)
{ echo "CLASS IS:$class<br>";
$lnk=PATH . str_replace("_", "/", $class) . ".php";
ob_start();
require $lnk;
ob_clean();
}
}
【问题讨论】:
-
显示所有相关代码。否则就不可能说出你的问题出在哪里。
-
那段代码确实很奇怪。如果您觉得需要捕获输出,则很可能您没有按预期使用类脚本。此外,您不会关闭打开的输出缓冲区级别。 -- 解释 eval 的想法应该是什么。
-
需要添加ob_end_clean()吗?
-
我正在使用子目录,这就是为什么这里是替换