ich ein neues Objekt mit diesemErstellen neues Objekt mit dynamischen Variablen in PHP
$procedure = new ${$s.'\\'.$p};
erstellen möge arbeitet nicht. Warum ist das nicht möglich?
ich ein neues Objekt mit diesemErstellen neues Objekt mit dynamischen Variablen in PHP
$procedure = new ${$s.'\\'.$p};
erstellen möge arbeitet nicht. Warum ist das nicht möglich?
Warum gehst du nicht
$name = "$s\\$p";
$procedure = new $name;
?
Auch ${$s.'\\'.$p}
bedeutet eine Variable, mit einem Variablennamen, der eindeutig nicht gut ist. Wenn Sie, und ich denke, Sie sind, versuchen, etwas wie eine Instanz von Namespace\Class
zu erhalten, sollten Sie mit dem folgenden Code versuchen.
Ich denke, dass die {}
Verknüpfung funktioniert nur mit dieser Syntax ${}
, die sich eindeutig auf eine Variable bezieht. Sie können damit keine neuen Objekte instanziieren.
Ich will nur verstehen, Außerdem ist die erste kompakter – x74x61
@ x74x61, Es hat ein seltsames Verhalten wahrscheinlich wegen eines Problems im Namespace.Ich versuchte auch mit 'new {$ s. ' \\ '. $ p} 'aber hat nicht funktioniert. Wenn Sie dieses Ding so oft benutzen müssen, dass Sie eine Abkürzung brauchen, ist vielleicht etwas in Ihrer Anwendung nicht in Ordnung. – Shoe
Ja. Jedoch ist dies immer noch selbst modifizierender Code Das ist eine schreckliche Idee für den Anfang. –
Ich verdünne es wegen extra '$' vor '{'. –
@ tereško Das ist eine [variable Variable] (http://us3.php.net/manual/en/language.variables.variable.php). –
@Michael Nein, '\' ist eine ungültige Syntax, für "\\" macht das keinen Unterschied. – x74x61