在PHP

2012-03-25 13 views
2

創建具有動態變量新對象我想用這個在PHP

$procedure = new ${$s.'\\'.$p}; 

它不工作,以創建新的對象。爲什麼這不可能?

+1

我很瘦,這是因爲在'{'之前額外有'$'。 – 2012-03-25 20:33:52

+0

@tereško這是一個[變量變量](http://us3.php.net/manual/en/language.variables.variable.php)。 – 2012-03-25 20:34:43

+0

@Michael不,'\'是無效的語法,至於「\\」它沒有區別。 – x74x61 2012-03-25 20:37:05

回答

2

你爲什麼不

$name = "$s\\$p"; 
$procedure = new $name; 

另外${$s.'\\'.$p}表示一個變量,其變量名稱顯然不好。如果你是,而且我認爲你是,試圖得到類似Namespace\Class的實例,你應該嘗試下面的代碼。

我認爲{}快捷方式只適用於這個語法${}這明顯是指一個變量。所以你不能用它來實例化新的對象。

+0

我只是想了解,另外第一個更緊湊 – x74x61 2012-03-25 20:35:37

+0

@ x74x61,它有一個奇怪的行爲,可能是因爲命名空間有問題,我也試過用'new {$ s。'。 \\'。$ p}'但是沒有工作,如果你必須使用這個東西很多次,以至於你需要一個快捷方式,那麼你的應用程序可能有問題了 – Shoe 2012-03-25 20:46:17

+2

是的,但是這仍然是自修改代碼這是一個可怕的想法開始。 – 2012-03-25 20:46:58