Generator::send
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
Generator::send — 생성기에 값 보내기
설명
public Generator::send(mixed $value
): mixed
현재 yield 표현식의 결과로 주어진 값을 제너레이터에 보내고 제너레이터의 실행을 재개합니다.
이 메서드가 호출될 때 생성기가 yield 표현식에 없으면 값을 보내기 전에 먼저 첫 번째 yield 표현식으로 진행합니다. 따라서 Generator::next() 호출로 PHP 생성기를 "prime"할 필요가 없습니다(파이썬에서 수행되는 것처럼).
매개변수
value
- 생성기로 보낼 값입니다. 이 값은 생성기가 현재 있는 yield 표현식의 반환 값이 됩니다.
반환 값
산출된 값을 반환합니다.
Examples
예제 #1 Generator::send()를 사용하여 값 주입
<?php
function printer() {
echo "I'm printer!".PHP_EOL;
while (true) {
$string = yield;
echo $string.PHP_EOL;
}
}
$printer = printer();
$printer->send('Hello world!');
$printer->send('Bye world!');
?>
위의 예는 다음을 출력합니다.
I'm printer! Hello world! Bye world!