note 127383 added to language.fibers

From: 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

« previous php.notes (#219341) next »