чисто функциональные — PHP Pure функции

Я пытаюсь определить чистые функции в коде PHP.

Чистая функция — это та, в которой выполняются оба этих утверждения о функции:

  • Функция всегда оценивает одно и то же значение результата, учитывая одно и то же значение аргумента. Значение результата функции не может зависеть от какой-либо скрытой информации или состояния, которые могут изменяться по мере выполнения программы или между различными выполнениями программы, а также не может зависеть от какого-либо внешнего ввода от устройств ввода-вывода.
  • Оценка результата не вызывает какого-либо семантически наблюдаемого побочного эффекта или вывода, такого как мутация изменяемых объектов или вывод на устройства ввода-вывода.

(определение из Википедия)

Достаточно ли сказать, что функция PHP чиста тогда и только тогда, когда

  • все его аргументы передаются по значению (нет & в списке аргументов)
  • он не использует члены объекта (нет $this в теле функции)
  • он не использует глобалы (он не содержит global в теле функции)
  • это не использует суперглобальные (это не содержит $_ переменные)

Верны ли эти утверждения?
Я пропускаю какие-либо варианты использования?

1

Решение

Задача ещё не решена.

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

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

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