Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verwenden Sie die PHP-Closure-Klasse

怪我咯
Freigeben: 2017-07-11 15:47:30
Original
1037 Leute haben es durchsucht

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

Die PHP-Closure-Klasse wurde zuvor in PHPPredefinierte 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::constructKonstruktor<🎜 wird zum Deaktivieren der Instanziierung verwendet >
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 = &#39;php&#39;;
}
$closure = function () {
  return $this->name;
};
$bind_closure = Closure::bind($closure, new Lang(), &#39;Lang&#39;);
echo $bind_closure(); //php
Nach dem Login kopieren
Darüber hinaus verwendet PHP die

magische Methode invoke(), um eine Klasse in eine Klasse umzuwandeln Schließung:

Das obige ist der detaillierte Inhalt vonSo verwenden Sie die PHP-Closure-Klasse. 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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!