Middle
Qu'est-ce qu'une fermeture en PHP?
sobes.tech IA
Réponse de l'IA
Fonction-objet avec la capacité de capturer des variables de la portée parent, même après que cette dernière ait terminé son exécution.
<?php
// Closure capturant $factor
$multiplyBy = function ($factor) {
return function ($number) use ($factor) {
return $number * $factor;
};
};
$double = $multiplyBy(2);
$triple = $multiplyBy(3);
echo $double(10); // Affiche : 20
echo $triple(10); // Affiche : 30
Caractéristiques principales:
- Sont des instances de la classe
Closure. - Peuvent hériter de variables de la portée parent via le mot-clé
use. - Les variables héritées sont héritées par valeur, sauf indication contraire pour l'héritage par référence (
use (&$variable)). - Souvent utilisées pour créer des fonctions anonymes qui "se souviennent" du contexte de leur création.