Sobes.tech
Middle

Mis on sulg PHP-s

sobes.tech AI

Vastus AI-lt

Objekt-funktsioon, millel on võime haarata muutujad selle loojast, isegi pärast selle loojakonteksti lõppemist.

<?php
// Sulg, mis haarab $factor
$multiplyBy = function ($factor) {
    return function ($number) use ($factor) {
        return $number * $factor;
    };
};

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

echo $double(10); // Väljund: 20
echo $triple(10); // Väljund: 30

Peamised omadused:

  • Need on Closure klassi eksemplarid.
  • Nad võivad pärida muutujaid vanemkontekstist, kasutades märksõna use.
  • Pärandatud muutujad pärivad väärtuse, välja arvatud juhul, kui on selgelt näidatud pärimine viitega (use (&$muutuja)).
  • Kasutatakse sageli anonüümsete funktsioonide loomiseks, mis "mäletavad" oma loomise konteksti.