Sobes.tech
Middle

Was ist eine Closure in PHP?

sobes.tech KI

Antwort von AI

Objektfunktion mit der Fähigkeit, Variablen aus dem umgebenden Gültigkeitsbereich zu erfassen, auch nachdem dieser Bereich beendet wurde.

<?php
// Closure, die $factor erfasst
$multiplyBy = function ($factor) {
    return function ($number) use ($factor) {
        return $number * $factor;
    };
};

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

echo $double(10); // Ausgabe: 20
echo $triple(10); // Ausgabe: 30

Hauptmerkmale:

  • Sind Instanzen der Klasse Closure.
  • Können Variablen aus dem übergeordneten Gültigkeitsbereich durch das Schlüsselwort use erben.
  • Ererbte Variablen werden standardmäßig nach Wert geerbt, es sei denn, es wird explizit Referenzvererbung (use (&$variable)) angegeben.
  • Werden häufig verwendet, um anonyme Funktionen zu erstellen, die sich "an den Kontext" ihrer Erstellung "erinnern".