1

PHP に「foo」という名前の関数がある場合、次の方法で動的に呼び出すことができます。

$var = "foo";
$var();

また、foo が「bar」という名前のオブジェクトへのメソッドである場合、次のように動的に呼び出すことができます。

$var = "foo";
$bar->$var();

ここでの唯一の問題 --- オブジェクトのメソッドだけでなくオブジェクト自体も動的に指定する必要があります --- 動的に文字列規則を利用するライブラリに組み合わせを渡します機能。これを行う方法はありますか?

4

2 に答える 2

2

メソッド名で行った方法と非常によく似た方法で、クラスの名前を指定して、オブジェクトでコンストラクターを呼び出すことができます。

$objectVar = 'myObject';
$bar = new $objectVar();
$objectVar = 'newObject';
$newBar = new $objectVar();

これにより、myObject クラスと newObject クラスのそれぞれに 1 つのオブジェクトが提供されます。

于 2015-05-06T06:08:49.773 に答える
1

または、オブジェクトを指定し、新しいオブジェクトを初期化しない場合は、次を使用できます

$var = "objectName";
$func = "functionName";
$$var->$func();
于 2015-05-06T06:12:29.963 に答える