В PHP функциональное программирование реализовано не полностью. Но из данного подхода написания кода можно подчеркнуть самую главную концепцию - Чистые функции.
Чистыми называют функции, которые не имеют побочных эффектов ввода-вывода и памяти (они зависят только от своих параметров и возвращают только свой результат).(с)Википедия
В PHP есть чистые функции из коробки. К примеру array_map
или array_filter
. Так же есть и грязные функции к примеру date
Чистые функции имеют огромное преимущество - предсказуемое поведение.
$orderProducts = [
['quantity' => 3, 'price' => 3.6],
['quantity' => 4, 'price' => 12.3],
];
$orderProductsSum = array_map(fn($product) => $product['quantity'] * $product['price'], $orderProducts);
$orderSum = array_sum($orderProductsSum);
Эти функции не модифицируют входные параметры. При одинаковых входных параметров всегда на выходе один и тот же результат.
Данную концепцию можно перенести и на методы объектов.