Я пытаюсь динамически получить метод класса, но PHP генерирует исключение, которое говорит Неопределенное свойство: StdClass ...динамически получить метод объекта
и как я пытаюсь получить значения
private function getExactValue($row, $name)
{
$tempRow = clone $row;
foreach(explode('->', $name) as $key => $value)
{
$temp = $tempRow->{$value};
unset($tempRow);
$tempRow = $temp;
}
return $tempRow;
}
$ строка представляет собой экземпляр объекта (не один СТД)
$ имя, что мне нужно в объекте для обхода, например, когда мне нужно $ row-> студент-> gifts-> totalPoint() как раз передать студенту-> подарки-> totalPoint() ко мне thod для параметра $ name
Вы можете мне сказать, в чем моя ошибка?
Похоже, вы пытаетесь обрабатывать выражения языка, такие как строки во время выполнения. Это невозможно, что-то вроде '$ row-> student-> gifts-> totalPoint()' является _not_ строкой, которую вы можете манипулировать со строковыми функциями. По крайней мере, не в нормальных условиях. – arkascha
нет Работает правильно, но имеет проблемы с функциями !, что необычные условия? –
Ваша последняя часть выражения попытается получить доступ к свойству с именем 'totalPoint()', это будет * not * вызывать метод totalPoint. Для динамического вызова используйте '$ tempRow -> {$ value}()' while '$ value' в этом случае должен быть' totalPoint', без брекетов. –