0

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たが、エラーが発生します。

4

1 に答える 1

1

次の 2 行を置き換えることができます。

$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
于 2010-02-17T21:27:15.543 に答える