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

  1. function generator() {
  2.  
  3. echo "generator 1 operation 1 <br>";
  4. echo "generator 1 operation 2 <br>";
  5.  
  6. yield "generator 1 - 1";
  7.  
  8. echo "generator 1 operation 3 <br>";
  9. echo "generator 1 operation 4 <br>";
  10.  
  11. yield "generator 2 - 1";
  12.  
  13. echo "generator 1 operation 5 <br>";
  14. echo "generator 1 operation 6 <br>";
  15.  
  16. yield from generator2();
  17. }
  18.  
  19. function generator2() {
  20. echo "generator 2 operation 1";
  21. echo "generator 2 operation 2";
  22.  
  23. yield "generator 2 - 1";
  24. return;
  25. }

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.

  1. <?php
  2. function generatorOne() {
  3.  
  4. echo "generator 1 operation 1 <br>";
  5. echo "generator 1 operation 2 <br>";
  6.  
  7. yield "generator 1 - 1<br>";
  8.  
  9. echo "generator 1 operation 3 <br>";
  10. echo "generator 1 operation 4 <br>";
  11.  
  12. yield "generator 2 - 1<br>";
  13.  
  14. echo "generator 1 operation 5 <br>";
  15. echo "generator 1 operation 6 <br>";
  16.  
  17. yield from generatorTwo();
  18. }
  19.  
  20. function generatorTwo() {
  21. echo "<hr>generator 2 operation 1<br>";
  22. echo "generator 2 operation 2<br>";
  23.  
  24. yield "generator 2 - 1<br>";
  25. return;
  26. }
  27.  
  28. foreach(generatorOne() as $go){
  29. echo $go;
  30. }
  31. ?>

Here is the result of the above code:

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