Informationen zur Verwendung der Closure-Klasse in PHP

不言
Freigeben: 2023-04-01 15:06:02
Original
1351 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich die Verwendung der Closure-Klasse in PHP vor. Jetzt kann ich ihn mit Ihnen teilen.

Die Closure-Klasse wird auch aufgerufen Jeder. Anonyme Funktionen wurden in PHP5.3 eingeführt. Wie der Name schon sagt, ist eine anonyme Funktion eine Funktion ohne definierten Namen. Dieser Artikel führt Sie in die Verwendung und ausführliche Erklärung der Closure-Klasse in PHP ein. Freunde, die sie benötigen, können sich auf

Closure, anonyme Funktionen, auch bekannt als anonyme Funktionen, beziehen, die in PHP5.3 eingeführt wurden. Anonyme Funktion ist eine Funktion ohne definierten Namen. Behalten Sie dies im Hinterkopf und Sie werden die Definition anonymer Funktionen verstehen.

Einführung in die Closure-Klasse (PHP 5 >= 5.3.0), eine Klasse zur Darstellung anonymer Funktionen (eingeführt in PHP 5.3) werfen wir einen Blick darauf PHP Wie man die Closure-Klasse verwendet und einführt.

Die PHP-Closure-Klasse wurde zuvor in der vordefinierten PHP-Schnittstelle eingeführt, es handelt sich jedoch nicht um eine Schnittstelle, sondern um eine interne Abschlussklasse. Die Klasse „Closure“ wird zur Darstellung anonymer Funktionen verwendet, und alle anonymen Funktionen sind Instanzen der Klasse „Closure“.

$func = function() {
  echo 'func called';
};
var_dump($func); //class Closure#1 (0) { }
$reflect =new ReflectionClass('Closure');
var_dump(
  $reflect->isInterface(), //false
  $reflect->isFinal(), //true
  $reflect->isInternal() //true
);
Nach dem Login kopieren

Die Struktur der Closure-Klasse ist wie folgt:

Closure::__construct – Konstruktor, der verwendet wird, um die Instanziierung zu verhindern
Closure::bind – Kopieren Sie einen Abschluss und binden Sie das angegebene $this-Objekt an den Klassenbereich.
Closure::bindTo – Kopieren Sie das aktuelle Abschlussobjekt und binden Sie das angegebene $this-Objekt und den angegebenen Klassenbereich.

Sehen Sie sich ein Beispiel für die Bindung von $this-Objekt und -Bereich an:

class Lang
{
  private $name = 'php';
}
$closure = function () {
  return $this->name;
};
$bind_closure = Closure::bind($closure, new Lang(), 'Lang');
echo $bind_closure(); //php
Nach dem Login kopieren

Darüber hinaus verwendet PHP die magische Methode __invoke() zum Erstellen Der Kurs wird zum Abschluss:

class Invoker {
  public function __invoke() {return __METHOD__;}
}
$obj = new Invoker;
echo $obj(); //Invoker::__invoke
Nach dem Login kopieren

Das Obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass er für das Lernen aller hilfreich ist. Bitte achten Sie auf die chinesische PHP-Website!

Verwandte Empfehlungen:

Über die Analyse der PHP-Funktion move_uploaded_file()

So lösen Sie das Problem des undefinierten Index Aufforderung durch PHP

Das obige ist der detaillierte Inhalt vonInformationen zur Verwendung der Closure-Klasse in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage