PHP 8.4.2 Released!

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::startStart execution of the fiber

Опис

public Fiber::start(mixed ...$args): mixed

A variadic list of arguments to provide to the callable used when constructing the fiber.

If the fiber has already been started when this method is called, a FiberError will be thrown.

Параметри

args

The arguments to use when invoking the callable given to the fiber constructor.

Значення, що повертаються

The value provided to the first call to Fiber::suspend() or null if the fiber returns. If the fiber throws an exception before suspending, it will be thrown from the call to this method.

add a note

User Contributed Notes 1 note

up
4
Astrid
3 years ago
Maybe this helps wrapping your had around the start-suspend-resume-return circle:

$fiber = new Fiber(
function($one) {
$two = Fiber::suspend($one);
$three = Fiber::suspend($two);
$four = Fiber::suspend($three);
$five = Fiber::suspend($four);
$six = Fiber::suspend($five);
return $six;
}
);

print $fiber->start(1);
print $fiber->resume(2);
print $fiber->resume(3);
print $fiber->resume(4);
print $fiber->resume(5);
print $fiber->resume(6);
print $fiber->getReturn();

//prints 123456
To Top