Sobes.tech
Middle

Ce este o închidere în PHP?

sobes.tech AI

Răspuns de la AI

Obiect-funcție cu capacitatea de a captura variabile din domeniul de vizibilitate al creatorului său, chiar și după ce acesta și-a încheiat execuția.

<?php
// Închidere care capturează $factor
$multiplyBy = function ($factor) {
    return function ($number) use ($factor) {
        return $number * $factor;
    };
};

$double = $multiplyBy(2);
$triple = $multiplyBy(3);

echo $double(10); // Ieșire: 20
echo $triple(10); // Ieșire: 30

Caracteristici principale:

  • Sunt instanțe ale clasei Closure.
  • Pot moșteni variabile din domeniul părinte folosind cuvântul cheie use.
  • Variabilele moștenite sunt moștenite prin valoare, cu excepția cazului în care se indică explicit moștenirea prin referință (use (&$variable)).
  • Sunt adesea folosite pentru a crea funcții anonime care "își amintesc" contextul în care au fost create.