1
我似乎無法解決此錯誤,當我嘗試使用反射創建對象並每次都得到此錯誤時。PHP ReflectionClass - 致命錯誤:類名稱必須是有效的對象或字符串
這裏是我的代碼:
public static function getMapper($klass) {
echo $klass;
if(class_exists($klass)) {
echo "YES!";
} else {
echo "NO!";
}
$mapperClass = new \ReflectionClass($klass);
print_r($mapperClass);
return new $mapperClass->newInstance();
}
第一回聲打印 「\域\會員」。這是正確的,因爲它是我通過的,並且它是我正在嘗試創建Object的類。
接下來,回顯打印「是」。這個課存在!
接下來,我通過$克拉斯到ReflectionClass和...
下的print_r打印:
ReflectionClass Object ([name] => domain\Member)
看到\域消失之前。可能是問題的一部分?
然後,當我調用newInstance()我得到錯誤。
致命錯誤:類名必須是一個有效的對象或在C字符串:\用戶\扎克\ PhpstormProjects \ MyApp的\基地\ Registry.php上線53
所以我不知道是什麼問題是。成員類存在於域名空間中。以防偶像中的某些東西是錯誤的,在這裏;還沒有太多:
<?php
namespace domain;
use base\Registry;
use domain\base\BaseMember;
class Member extends BaseMember {
/**
* @param $displayName
* @return Member
*/
public static function findMemberByDisplayName($displayName) {
return Registry::memberRepository()->findMemberByDisplayName($displayName);
}
呃,它總是那麼小...... – user1513171