note 127383 added to language.fibers
| From: | newuser at main dot php dot net | Date: | Mon, 01 Aug 2022 15:04:59 +0000 |
| Subject: | note 127383 added to language.fibers | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-219341@lists.php.net to get a copy of this message | ||
Example of the same functionality showing what is the difference between Fiber and Generator
<?php
$gener = (function () use (&$gener): Generator {
$userfunc = function () use (&$gener) : Generator {
register_shutdown_function(function () use (&$gener) {
$gener->send('test');
});
return yield 'test';
};
$parm = yield from $userfunc();
echo "Value used to resume fiber: ", $parm, PHP_EOL;
})();
$res = $gener->current();
echo "Value from fiber suspending: ", $res, PHP_EOL;
?>
<?php
$fiber = new Fiber(function () use (&$fiber) : void {
$userfunc = function () use (&$fiber) : string {
register_shutdown_function(function () use (&$fiber) {
$fiber->resume('test');
});
return Fiber::suspend('fiber');
};
$parm = $userfunc();
echo "Value used to resume fiber: ", $parm, PHP_EOL;
});
$res = $fiber->start();
echo "Value from fiber suspending: ", $res, PHP_EOL;
?>
----
Server IP: 45.112.84.4
Probable Submitter: 45.91.159.163 (proxied: 116.19.127.231)
----
Manual Page -- https://php.net/manual/en/language.fibers.php
Edit -- https://main.php.net/note/edit/127383
Del: integrated -- https://main.php.net/note/delete/127383/integrated
Del: useless -- https://main.php.net/note/delete/127383/useless
Del: bad code -- https://main.php.net/note/delete/127383/bad+code
Del: spam -- https://main.php.net/note/delete/127383/spam
Del: non-english -- https://main.php.net/note/delete/127383/non-english
Del: in docs -- https://main.php.net/note/delete/127383/in+docs
Del: other reasons-- https://main.php.net/note/delete/127383
Reject -- https://main.php.net/note/reject/127383
Search -- https://main.php.net/manage/user-notes.php