Ich habe eine Frage in Bezug auf „dynamische“ Klasse Initialisierungsfeldes, lassen Sie mich erklären, was ich meine:
$class = 'User';
$user = new $class();
//...is the same as doing
$user = new User();
So ... das ist nicht das Problem, aber ich bin einige Probleme, tut das gleiche, während eine statische Variable von einer Klasse aufrufen, zum Beispiel:
$class = 'User';
print $class::$name;
, das die folgenden Fehler gibt aus:
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in
Natürlich habe ich getestet print User::$name;
und das funktioniert. Also Klasse funktioniert.
Warum ist das und gibt es einen Weg um es herum?
Follow-up-Frage:
Auch ist es gute Gründe, nicht um diese „dynamische“ Art und Weise zu verwenden, Klassen zu schaffen?
Sie nicht dynamische und statische Anrufe mischen, das ist, warum es nicht möglich ist, Benutzer zu nennen :: $$ stützen und auch Ihre $ Klasse :: $ name –
http://stackoverflow.com/questions/3679717/unexpected-t -paamayim-nekudotayim-on-ein-Computer-but-not-another-mit-php-5 –
möglich duplizieren von [Zugriff auf eine statische Variable von $ var :: $ Verweis] (http://stackoverflow.com/questions/ 675.676/access-a-static-Variable-by-varreference) –