yield from
Einführung
Das yield from-Schlüsselwort wird in PHP verwendet, um die Generierung von Werten an einen anderen Generator zu delegieren. Dies ermöglicht es, mehrere Generatoren miteinander zu verketten, um eine Art Pipeline zu erstellen, die zur Transformation oder Filterung von Daten in Echtzeit genutzt werden kann.
Beispiel
Hier ist ein Beispiel, das die Verwendung von yield from in PHP veranschaulicht:
Beispiel für yield from in PHP
<?php
function myGenerator()
{
yield "Hello";
yield "World";
}
function myOtherGenerator()
{
yield "!";
}
function myCombinedGenerator()
{
yield from myGenerator();
yield from myOtherGenerator();
}
foreach (myCombinedGenerator() as $value) {
echo $value . " ";
}Im obigen Beispiel haben wir drei Generator-Funktionen: myGenerator(), myOtherGenerator() und myCombinedGenerator(). Die ersten beiden Generatoren liefern jeweils einen einzelnen Wert, während der dritte Generator mit dem Schlüsselwort yield from auf die ersten beiden Generatoren zurückgreift.
Wenn myCombinedGenerator() aufgerufen wird, gibt es zunächst die von myGenerator() erzeugten Werte aus und anschließend die von myOtherGenerator() erzeugten Werte. Dies erzeugt eine Sequenz von drei Werten: "Hello", "World" und "!"
Die foreach-Schleife verwendet anschließend myCombinedGenerator(), um über die Wertesequenz zu iterieren, wodurch die Ausgabe "Hello World !" entsteht.
Das Schlüsselwort yield from kann besonders nützlich sein, wenn mit verschachtelten Datenstrukturen gearbeitet wird oder wenn eine Reihe von Transformationen auf einem Datensatz durchgeführt werden muss. Durch das Verketten mehrerer Generatoren können komplexe Probleme in einfachere, besser handhabbare Teile zerlegt werden, was den Code lesbarer und wartbarer macht.
Praxis
Was ist die Hauptverwendung der Anweisung 'yield from' in PHP?