使用反射来获取类实例时获得一些严重的威胁。代码是如此简单,我真的不知道哪里出错了,似乎反射正在改变类名。所以:
$reflect = new ReflectionClass($class);
print_r($reflect);
ReflectionClass Object
(
[name] => Db_Table_Data_Binding
)
return $reflect->newInstance(); // fatal error class Db_Table_Binding Not Found
即使我将其包装在if语句中以确认:
if($class === "Db_Table_Data_Binding")
{
return $reflect->newInstance(); // fatal error class Db_Table_Binding
}
真的不知道这里发生了什么......任何帮助都会很棒。
所以我找出了对于那些可能偶然发现这个错误的人做错的事情。
class Db_Table_Data_Binding{
protected $bindTypes = array(
"integer" => Db_Table_Binding::TYPEINT
);
}
答案 0 :(得分:0)
这可能是因为您的类的构造函数使用Db_Table_Binding类,并且它位于不同的命名空间中,并且您的自动加载器无法找到类定义。
尝试编写脚本开头写:
use NamespeceWhereUGotThisClass\Db_Table_Binding;