methosHere是調用我創建的類:PHP:呼叫的方法動態
Utils::search($idRole, $this->roles, 'getId');
在的Utils
,搜索方法:
public static function search ($needle, $haystack, $getter) {
$found = false;
$i = 0;
while($i < count($haystack) || $found) {
$object = $haystack[$i];
if($object->$getter === $needle) {
$found = true;
}
}
return $found;
}
草堆是角色對象的數組。下面是角色類的一部分:
class Role
{
private $id;
private $nom;
public function __construct($id = 0, $nom = null) {
$this->id = $id;
$this->nom = $nom;
}
public function getId()
{
return $this->id;
}
}
運行$object->$getter
部分我有一個例外:
Undefined property: Role::$getId
我認爲這是動態調用屬性的方式..我該怎麼辦錯了?
謝謝
由於'getId'是一種方法,而不是一個道具,你要稱呼其爲方法:'$ object - > $ getter();' – hindmost 2014-10-03 12:48:52
缺少括號():) – pietro 2014-10-03 12:49:04