revolt php已經(jīng)發(fā)布1.1正式版了,
現(xiàn)在有啥大的用處嗎?
revolt.run
We're proud to announce our initial stable release! The event loop is ready for production use, has been tested in various different applications and scenarios, and fully supports fibers.
github.com/revoltphp/even…
我已經(jīng)嘗鮮了?。evolt非常爽??!比php原生Fiber爽多了?。?!
https://github.com/walkor/workerman.git
\Workerman\Worker::$eventLoopClass = \Workerman\Events\Revolt::class;
$worker = new \Workerman\Worker();
$worker->onWorkerStart = function(){
$suspension = \Revolt\EventLoop::getSuspension();
\Workerman\Timer::delay(2, function () use ($suspension) {
$suspension->resume(666);
});
echo $suspension->suspend();
};
Worker::runAll();
異步+同步
我因?yàn)槭褂昧?code>AsyncTcpConnection,在windows環(huán)境下測(cè)試的,源代碼報(bào)錯(cuò),解決方法:
修改Workerman\Events\Revolt.php
源碼,增加以下兩個(gè)方法的代碼:
public function onExcept($stream, $func)
{
}
function offExcept($stream)
{
return $this->offWritable($stream);
}
這個(gè)revolt
是一個(gè)第三方composer包嗎?
還是官方的第三方composer包?
他的作用是什么呢?
為啥workerman要等這個(gè)第三方的composer包?
amphp和reactphp聯(lián)手做的一個(gè)算是社區(qū)標(biāo)準(zhǔn)的eventInterface,規(guī)范了定時(shí)器、流讀寫事件、協(xié)程切換等接口,workerman如果使用該interface可以無(wú)縫使用上述兩個(gè)庫(kù)的相關(guān)周邊產(chǎn)品,比如異步的數(shù)據(jù)庫(kù)、異步的http-client等