2017-01-24 85 views
2

我是新來的PHP類,我試圖動態實例化這樣一個類:PHP如何動態實例

$var = new \App\$str; 

但我不斷收到此錯誤:

unexpected variable $str after '\', expected: identifier. 

我知道這是可能的,但我只是不確定確切的語法是什麼,我發現的所有例子都沒有我需要的\App\部分。

+0

試試這個'$ VAR =新\軟件\ {$海峽} ;' –

回答

2

new運算符接受類名稱標識符或包含類名稱的變量,但不包含它們的混合。

由於您的完全合格的類名稱的一部分是未知的(動態的),你應該把所有的部件到一個字符串變量:

$class_name = 'A'; 
$namespace = '\\App'; 
$fully_qualified_class_name = "$namespace\\$class_name"; 
$var = new $fully_qualified_class_name; 
+0

完美的作品,謝謝! – BoooYaKa