PHP 7 — делает ли PHP 7 проще заменить оператор запятой?

До сих пор я узнал, что в PHP нет оператора запятой (я здесь не для мнения хорошо это или плохо). Так как я попадаю в картину таких выражений:

($tmp = bar(), foo($tmp), $tmp)
  1. выполнять вычисления и кэшировать вывод
  2. использовать кэшированное значение (вызвать функцию с заданным значением)
  3. вернуть кэшированное значение

Я могу заменить оператор запятой вызовом пользовательской функции, которая принимает значение и лямбду и возвращает значение.

Но мне интересно — может быть, в PHP 7 появилась новая функция, которая упрощает подстановку или позволяет подставлять все формы выражений с запятыми?

0

Решение

Не совсем, но начиная с PHP 7 вы можете легко создавать и вызывать лямбда-функции одновременно, благодаря новому AST:

(function() { $tmp = bar(); foo($tmp); return $tmp; })();
4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]