Skip to content

Latest commit

 

History

History
23 lines (16 loc) · 1.57 KB

functional-programming.md

File metadata and controls

23 lines (16 loc) · 1.57 KB

Функциональное программирование

В 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);

Эти функции не модифицируют входные параметры. При одинаковых входных параметров всегда на выходе один и тот же результат.

Данную концепцию можно перенести и на методы объектов.