PHP Conference Nagoya 2025

Fiber::start

(PHP 8 >= 8.1.0)

Fiber::startStartet die Ausführung einer Fiber

Beschreibung

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

Eine variable Liste von Argumenten, die dem beim Aufbau der Fiber verwendeten Callable übergeben werden.

Wenn die Fiber zum Zeitpunkt des Aufrufs dieser Methode bereits gestartet wurde, wird ein FiberError geworfen.

Parameter-Liste

args

Die Argumente, die beim Aufruf des im Konstruktor der Fiber angegebenen Callables zu verwenden sind.

Rückgabewerte

Gibt den Wert zurück, der dem ersten Aufruf von Fiber::suspend() übergeben wird, oder null, wenn die Fiber einen Rückgabewert liefert. Wenn die Fiber eine Exception wirft, bevor sie unterbrochen wird, wird diese beim Aufruf dieser Methode geworfen.

add a note

User Contributed Notes 1 note

up
4
Astrid
2 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