Как получить доступ к членам класса из массива переменных класса?
Я хочу использовать функции отражения PHP для получения списка имен параметров из метода. У меня есть такой класс:
class TestClass {
public function method($id, $person, $someotherparam) {
return;
}
}
Я могу получить список, используя следующий код:
$r = new ReflectionClass('TestClass');
$methods = $r->getMethods();
foreach($methods as $method) {
$params = $method->getParameters();
$p = $params[0]; // how can I combine this and the next line?
echo $p->name;
Я хочу знать, как получить доступ к членам класса из массива, поэтому мне не нужно делать назначение. Это возможно? Я пробовал что-то вроде echo ($params[0])->name
но я получаю ошибку.
1 ответ
Решение
Вы можете заменить эти две строки:
$p = $params[0]; // how can I combine this and the next line?
echo $p->name;
этим единственным:
echo $params[0]->name;
т.е. нет необходимости в каких-либо скобках здесь.
Но вы не можете использовать этот синтаксис:
($params[0])->name
Это даст вам
Parse error: syntax error, unexpected T_OBJECT_OPERATOR