Получение некоторой серьезной wierdness при использовании отражения для получения экземпляра класса. Код настолько прост, что я действительно не понимаю, где это происходит, кажется, что отражение меняет имя класса. Итак:ReflectionClass изменяет имя класса и вызывает фатальную ошибку
$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($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
);
}
ли класс 'Db_Table_Data_Binding' конструктор, который принимает аргументы? –
Расширяет ли 'Db_table_Data_Binding'' Db_Table_Binding'? –
no и no, хотя я оставил его из своего кода для краткости, есть проверка для конструктора выше if ($ reflection-> getConstructor())) – Robbington