3

重複の可能性:
動的クラス名を持つ PHP 名前空間

文字列からクラスを宣言するには?

コード

$name = 'the_class';
require_once $name.'.php';
$class = new \resource\$name();

エラー

Parse error: syntax error, unexpected '$name' (T_VARIABLE), expecting identifier (T_STRING)
4

2 に答える 2

6

名前空間パスを動的に構築する必要があります。

$classPath = '\\resource\\' . $name;
$class = new $classPath;

注:私はリテラルのバックスラッシュで明示するのが好きです。

于 2012-11-10T20:10:26.710 に答える
4

名前空間は文字列の一部である必要があります:

$name = 'the_class';
require_once $name . '.php';
$className = '\resource\\' . $name;
$class = new $className();
于 2012-11-10T20:10:34.227 に答える