6

ルビーがパーティーに招待されて持ってきた場合:

foobarobject.send('foomethod') 

.. そして Python は同じパーティーに招待され、以下をもたらします:

getattr(foobarobject, 'foomethod')()

.. PHP はパーティーに何をもたらす必要がありますか?

おまけの質問:もし Ruby と Python が PHP の好意に嫉妬した場合、PHP の裏でそれについて話すために、彼らは PHP のドキュメントでどんな英語の用語を検索しますか?

4

2 に答える 2

12

PHPはこれをもたらします:

$foobarobject->{"foomethod"}();

...そしてコーラとチップス。

編集

上記の用語はですvariable variablesが、マニュアルのオブジェクトに対してそれを行うことについて具体的に話しているものは何もありません。ただし、次の方法で同じことを達成できますcall_user_func

call_user_func(array($foobarobject, "foomethod"));
于 2009-04-21T04:30:55.953 に答える
3

変数を使用してメソッド名を保持します。Paolo の最初の例とほぼ同じですが、知らないとわかりにくいかもしれません。

$method = "foomethod";
$foobarobject->$method();

Reflection クラスも取得しました。

$method = new ReflectionMethod('Foobar', 'foomethod');
$method->invoke(null);
于 2009-04-21T05:57:02.767 に答える