Fiber::getCurrent

(PHP 8 >= 8.1.0)

Fiber::getCurrent获取当前正在执行的 Fiber 实例

说明

public static Fiber::getCurrent(): ?Fiber

参数

此函数没有参数。

返回值

返回当前正在执行的 Fiber 实例,如果在 Fiber 外部调用此方法,则返回 null

添加备注

用户贡献的备注 1 note

up
0
booleantype1990 at gmail dot com
3 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: NULLInside Fiber. getCurrent: object(Fiber)#1 (0) {}After suspend. getCurrent: NULLInside Fiber again after resume(). getCurrent: object(Fiber)#1 (0) {}After resume. getCurrent: NULL
To Top