Sobes.tech
Middle

Kas yra uždarymas PHP?

sobes.tech AI

Atsakymas iš AI

Objekto funkcija su galimybe pagauti kintamuosius iš savo kūrėjo matomumo srities, net ir pasibaigus šiai sričiai.

<?php
// Uždarymas, kuris pagauja $factor
$multiplyBy = function ($factor) {
    return function ($number) use ($factor) {
        return $number * $factor;
    };
};

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

echo $double(10); // Išvestis: 20
echo $triple(10); // Išvestis: 30

Pagrindinės savybės:

  • Yra Closure klasės egzemplioriai.
  • Gali paveldėti kintamuosius iš tėvų srities naudojant raktinį žodį use.
  • Paveldėti kintamieji paveldimi reikšme, jei nėra aiškiai nurodyta paveldėjimas nuoroda (use (&$kintamasis)).
  • Dažnai naudojama kurti anonimines funkcijas, kurios "prisimena" savo sukūrimo kontekstą.