Middle
Cos'è una closure in PHP?
sobes.tech AI
Risposta dell'AI
Oggetto-funzione con la capacità di catturare variabili dall'ambito del suo creatore, anche dopo che quest'ultimo ha terminato l'esecuzione.
<?php
// Chiusura che cattura $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Output: 20
echo $triple(10); // Output: 30
Caratteristiche principali:
- Sono istanze della classe
Closure. - Possono ereditare variabili dall'ambito superiore usando la parola chiave
use. - Le variabili ereditate vengono ereditate per valore, a meno che non venga specificato esplicitamente l'ereditarietà per riferimento (
use (&$variable)). - Sono comunemente usate per creare funzioni anonime che "ricordano" il contesto in cui sono state create.