제너레이터에서 다른 제너레이터로 연결하는 방법에 대해서 알아보겠습니다.
    
이것을 제너레이터 델리게이션(Delegation : 위임)라고 합니다.
    from키워드를 사용합니다.
function 제너레이터1() {
    echo "제너레이터 1 작동 1 <br>";
    echo "제너레이터 1 작동 2 <br>";
    yield "제너레이터 1 - 1";
    echo "제너레이터 1 작동 3 <br>";
    echo "제너레이터 1 작동 4 <br>";
    yield "제너레이터 2 - 1";
    echo "제너레이터 1 작동 5 <br>";
    echo "제너레이터 1 작동 6 <br>";
    yield from 제너레이터2();
}
function 제너레이터2() {
    echo "제너레이터 2 작동 1";
    echo "제너레이터 2 작동 2";
    yield "제너레이터 2 - 1";
    return;
}
위의 제너레이터1의 마지막을 보면 from 키워드를 사용하여 제너레이터2를 호출해요.
자 그럼 제너레이터1을 호출해서 제너레이터2도 함께 호출됨을 예제로 확인해 볼게요.
<?php
    function generatorOne() {
        echo "제너레이터 1 작동 1 <br>";
        echo "제너레이터 1 작동 2 <br>";
        yield "제너레이터 1 - 1<br>";
        echo "제너레이터 1 작동 3 <br>";
        echo "제너레이터 1 작동 4 <br>";
        yield "제너레이터 2 - 1<br>";
        echo "제너레이터 1 작동 5 <br>";
        echo "제너레이터 1 작동 6 <br>";
        yield from generatorTwo();
    }
    function generatorTwo() {
        echo "<hr>제너레이터 2 작동 1<br>";
        echo "제너레이터 2 작동 2<br>";
        yield "제너레이터 2 - 1<br>";
        return;
    }
    foreach(generatorOne() as $go){
        echo $go;
    }
?>
다음은 위코드의 결과입니다.
from 키워드를 사용해 제너레이터에서 다른 제너레이터를 호출하는 방법에 대해 알아봤습니다. ^^
봐주셔서 감사합니다. 문의 또는 잘못된 설명은 아래의 댓글에 부탁드립니다. 
 당신의 작은 누름이 저에게는 큰 희망이 됩니다.
댓글 0개
정렬기준