Как получить доступ к членам класса из массива переменных класса? - PullRequest
0 голосов
/ 18 февраля 2010

Я хочу использовать функции отражения 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 Ответ

1 голос
/ 18 февраля 2010

Вы можете заменить эти две строки:

$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
...