PHP 8.2.0 RC3 available for testing

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::startНачинает выполнение волокна

Описание

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

Переменный список аргументов, передаваемый вызываемому объекту, используемый при построении файбера.

Если при вызове метода файбер уже был запущен, будет выброшено FiberError.

Список параметров

args

Аргументы, которые следует использовать при вызове вызываемого объекта, передаваемого конструктору файбера.

Возвращаемые значения

Значение, предоставленное при первом вызове Fiber::suspend() или null в случае возврата файбера. Если файбер выбросил исключение перед приостановкой, оно будет выброшено из вызова этого метода.

add a note

User Contributed Notes 1 note

up
0
Astrid
9 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