QUIZGUM

Coding Class

Quizgum : generator from

Generator - from

Let's see how to connect from one generator to another.
This is called generator delegation. Use the from keyword.

Generator from How to use

function generator() {

    echo "generator 1 operation 1 <br>";
    echo "generator 1 operation 2 <br>";

    yield "generator 1 - 1";

    echo "generator 1 operation 3 <br>";
    echo "generator 1 operation 4 <br>";

    yield "generator 2 - 1";

    echo "generator 1 operation 5 <br>";
    echo "generator 1 operation 6 <br>";

    yield from generator2();
}

function generator2() {
    echo "generator 2 operation 1";
    echo "generator 2 operation 2";

    yield "generator 2 - 1";
    return;
}

Looking at the end of generator 1 above, we call generator 2 using the from keyword.
Now let's call Generator 1 and see that Generator 2 is also called.

<?php
    function generatorOne() {

        echo "generator 1 operation 1 <br>";
        echo "generator 1 operation 2 <br>";

        yield "generator 1 - 1<br>";

        echo "generator 1 operation 3 <br>";
        echo "generator 1 operation 4 <br>";

        yield "generator 2 - 1<br>";

        echo "generator 1 operation 5 <br>";
        echo "generator 1 operation 6 <br>";

        yield from generatorTwo();
    }

    function generatorTwo() {
        echo "<hr>generator 2 operation 1<br>";
        echo "generator 2 operation 2<br>";

        yield "generator 2 - 1<br>";
        return;
    }

    foreach(generatorOne() as $go){
        echo $go;
    }
?>

Here is the result of the above code:

You learned how to call another generator from a generator using the from keyword. ^^