0

たとえば「Statistics1」という名前のクラスの新しいオブジェクトを作成する必要があります-変​​数で取得した「1」なので、次のようなものが必要です。

$table = new Statistics${$mode};

うまくいきません。変数内の変数については、次を使用します。

$var = ${"text" . $second_var};

しかし、今回は変数ではありません。

4

2 に答える 2

3

例外をキャッチする方が簡単なので、リフレクションを好みます。

$reflector = new ReflectionClass('Statistics'.$mode);
$table = $reflector->newInstance($arg1, $arg2);
于 2013-07-10T01:28:18.463 に答える
3

PHP5.3以降、クラス名は変数になる可能性があります

変更: 変数を使用してクラスを参照できるようになりました (echo $classname::constant; など)。変数の値をキーワード (self、parent、static など) にすることはできません。

したがって、サンプル コードは次のようになります。

class foo1
    {}

$one = 1;
$class_name = 'foo' . $one;
$bar = new $class_name;
var_dump($bar);
于 2013-07-10T01:32:26.520 に答える