PHP 8.5.0 Released!

Fiber::getCurrent

(PHP 8 >= 8.1.0)

Fiber::getCurrentErmittelt die aktuell laufende Instanz von Fiber

Beschreibung

public static Fiber::getCurrent(): ?Fiber

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt die aktuell laufende Instanz von Fiber zurück oder null, wenn diese Methode außerhalb einer Fiber aufgerufen wird.

add a note

User Contributed Notes 1 note

up
0
booleantype1990 at gmail dot com
6 months ago
Fiber::getCurrent() will only return true if you call it from within a Fiber while it is running.

<?php
$fiber = new Fiber(function () {
    echo "Inside Fiber. getCurrent: ";
    var_dump(Fiber::getCurrent()); // Here is object(Fiber)#1 (0) { }

    Fiber::suspend();

    echo "Inside Fiber again after resume(). getCurrent: ";
    var_dump(Fiber::getCurrent()); // object(Fiber)#1 (0) { } again
});

echo "Before Fiber launch. getCurrent: ";
var_dump($fiber->getCurrent()); // Here is NULL 

$fiber->start();

echo "After suspend. getCurrent: ";
var_dump($fiber->getCurrent()); // Here is NULL 

$fiber->resume();

echo "After resume. getCurrent: ";
var_dump($fiber->getCurrent()); // Here is NULL 
?>

Result:
Before Fiber launch. getCurrent: NULL
Inside Fiber. getCurrent: object(Fiber)#1 (0) {}
After suspend. getCurrent: NULL
Inside Fiber again after resume(). getCurrent: object(Fiber)#1 (0) {}
After resume. getCurrent: NULL
To Top