SymfonyWorld Online 2022 Winter Edition

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::startStart execution of the fiber

Description

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.

Liste de paramètres

args

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

Valeurs de retour

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
0
Astrid
6 months 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