Middle
Co je to uzávěr v PHP?
sobes.tech AI
Odpověď od AI
Objekt-funkce s možností zachytit proměnné z okolí, ve kterém byla vytvořena, i po ukončení tohoto okolí.
<?php
// Uzávěr, který zachytí $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Výstup: 20
echo $triple(10); // Výstup: 30
Hlavní vlastnosti:
- Jsou instancemi třídy
Closure. - Mohou dědit proměnné z nadřazeného prostředí pomocí klíčového slova
use. - Děděné proměnné jsou děděny hodnotou, pokud není výslovně uvedeno dědění odkazem (
use (&$proměnná)). - Často se používají k vytváření anonymních funkcí, které "pamatují" kontext svého vzniku.