Jest to absolutnie możliwe przy użyciu techniki wywołania ciągu znaków do nazwy funkcji, jak wskazuje odpowiedź Overv. W wielu przypadkach trywialne podmiany to brzmi o wiele lepiej niż alternatywnych składni takich jak
"<input value='<?php echo 1 + 1 + foo()/bar(); ?>' />"
Potrzebny jest zmienna, ponieważ parser oczekuje $ tam być. To tutaj transformacja tożsamości działa dobrze jako syntaktyczny hack. Wystarczy zadeklarować funkcję tożsamości i przypisać nazwę do zmiennej w zakresie:
function identity($arg){return $arg;}
$interpolate="identity";
Następnie można przekazać dowolne poprawne wyrażenie PHP jako argument funkcji:
"<input value='{$interpolate(1 + 1 + foo()/bar())}' />"
Plusem jest to, że można wyeliminować wiele trywialnych zmiennych lokalnych i instrukcji echo.
Wadą jest to, że zmienna $ interpolate wypada poza zakres, więc musiałbyś wielokrotnie deklarować ją jako globalną wewnątrz funkcji i metod.
tak nie jest to możliwe. Możesz uzyskać odpowiedź po prostu próbując – Ibu
Czy chodziło Ci o * interpolację * lub * tłumaczenie *? – hakre