PHP 7 облегчает замену оператора запятой?
До сих пор я узнал, что в PHP отсутствует оператор запятой (меня не интересуют мнения, хорошо это или плохо). Так как я попадаю в схему таких выражений:
($tmp = bar(), foo($tmp), $tmp)
- выполнять вычисления и кэшировать вывод
- использовать кэшированное значение (вызвать функцию с заданным значением)
- вернуть кэшированное значение
Я могу заменить оператор запятой вызовом пользовательской функции, которая принимает значение и лямбду и возвращает значение.
Но мне интересно - может быть, в PHP 7 появилась новая функция, которая облегчает подстановку или позволяет заменять все формы выражений с запятыми?
1 ответ
Решение
Не совсем, но начиная с PHP 7 вы можете легко создавать и вызывать лямбда-функции одновременно, благодаря новому AST:
(function() { $tmp = bar(); foo($tmp); return $tmp; })();