Heim  >  Artikel  >  Backend-Entwicklung  >  Beispiel für die Verwendung einer PHP-Erkennungsschnittstelle

Beispiel für die Verwendung einer PHP-Erkennungsschnittstelle

小云云
小云云Original
2017-12-29 16:48:311205Durchsuche

Dieser Artikel stellt hauptsächlich die Verwendung der PHP-Erkennungsschnittstelle Traversable vor und analysiert die relevanten Bedienfähigkeiten der Traversable-Schnittstellenerkennungsfunktion in Form von Beispielen. Ich hoffe, dass er allen helfen kann.

Traversable wird verwendet, um zu erkennen, ob eine Klasse mit foreach durchlaufen werden kann. Dies ist eine interne Engine-Schnittstelle, die in PHP-Skripten nicht implementiert werden kann. In der tatsächlichen Programmierung verwenden wir die Iterator-Schnittstelle oder die IteratorAggregate-Schnittstelle, um die Traversierung zu implementieren.

Schnittstellenzusammenfassung:

Traversable {
}

Eine wichtige Verwendung von Traversable besteht darin, zu bestimmen, ob eine Klasse durchlaufen werden kann Beispiel:

<?php
  if( !is_array( $items ) && !$items instanceof Traversable )
    //Throw exception here
?>

Es ist zu beachten, dass Arrays und Objekte über foreach durchlaufen werden können, sie jedoch nicht die Traversable-Schnittstelle implementieren, also nicht Beispiele für Traversable:

<?php
$array=[1,2,3];
$obj = (object) $array;
var_dump($array instanceof \Traversable);
var_dump($obj instanceof \Traversable);
?>

Die obige Codeausgabe:

boolean false
boolean false

Ergänzende Anweisungen:

Wenn eine Klasse die Iterator-Schnittstelle oder die IteratorAggregate-Schnittstelle nicht implementiert, werden beim Ausführen einer foreach-Durchquerung alle sichtbaren Eigenschaften ausgegeben, auf die sie zugreifen kann

Verwandte Empfehlungen:

php – Traversable-Schnittstelle

2Traversable (Traversal)-Schnittstelle

PHP – Detaillierte Erläuterung der Traversable-Schnittstelle

Das obige ist der detaillierte Inhalt vonBeispiel für die Verwendung einer PHP-Erkennungsschnittstelle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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