PHP supports variable interpolation in double quoted strings, for example,
$s = "foo $bar";
But is it possible to interpolate function call results in the double quoted string?
For example,
$s = "foo {bar()}";
Something like that? It doesn't seem not possible, right?
It is absolutely possible using the string-to-function-name calling technique as Overv's answer indicates. In many trivial substitution cases it reads far better than the alternative syntaxes such as
"<input value='<?php echo 1 + 1 + foo() / bar(); ?>' />"
You need a variable, because the parser expects the $ to be there.
This is where the identity transform works well as a syntactic hack. Just declare an identity function, and assign the name to a variable in scope:
function identity($arg){return $arg;}
$interpolate = "identity";
Then you can pass any valid PHP expression as the function argument:
"<input value='{$interpolate(1 + 1 + foo() / bar() )}' />"
The upside is that you can eliminate a lot of trivial local variables and echo statements.
The downside is that the $interpolate variable falls out of scope, so you would have to repeatedly declare it global inside of functions and methods.