Es ist absolut möglich, die Methode zum Aufrufen von String-to-Function-Namen zu verwenden, wie die Antwort von Overv zeigt. In vielen trivialen Substitution Fällen liest es weit besser als die alternative Syntaxen wie
"<input value='<?php echo 1 + 1 + foo()/bar(); ?>' />"
Sie eine Variable benötigen, da der Parser die $, dort zu sein erwartet. Hier funktioniert die Identitätstransformation gut als syntaktischer Hack. einfach eine Identitätsfunktion deklarieren und den Namen einer Variablen in Umfang zuweisen:
function identity($arg){return $arg;}
$interpolate="identity";
Dann Sie eine gültige PHP-Ausdruck als Funktion Argument übergeben können:
"<input value='{$interpolate(1 + 1 + foo()/bar())}' />"
Der Vorteil ist, dass man eliminiere eine Menge trivialer lokaler Variablen und Echo-Anweisungen.
Der Nachteil ist, dass die $ interpolate-Variable außerhalb des Gültigkeitsbereichs liegt, also müssten Sie sie innerhalb von Funktionen und Methoden wiederholt global deklarieren.
ja, es ist nicht möglich. Sie können Ihre Antwort erhalten, indem Sie einfach versuchen – Ibu
Meinten Sie * interpolieren * oder * interpretieren *? – hakre