php种loop用法,php – 这个代码示例中的$loop做了什么?

Phil Sturgeon写了关于基准测试的

article.

我所关心的是这项名为ReactPHP的技术.

我去过他们的GitHub,但是如果没有一个例子,我仍然无法绕过它.

谢天谢地,我可以使用Phil的回购.

在第12行,Phil用ReactPHP创建了一个循环.

然后他开始在第24行使用循环

我的问题是:

>这个$循环的目的是什么?

>它在ReactPHP上说,它是一个简单的Web服务器.这是否意味着它取代了nginx或Apache?

>何时是使用ReactPHP或任何类似技术的好时机?什么时候不是使用它的好时机?

我正在努力了解这项技术,所以如果我严厉地说出这个问题,请告诉我,这样我就可以改写.

编辑:

由于我收到的反馈是问题太广泛,所以让我缩小我的问题并使其引用代码示例.

我在下面重复了一遍. $loop做什么?

$loop = React\EventLoop\Factory::create();

$dnsResolverFactory = new React\Dns\Resolver\Factory();

$dnsResolver = $dnsResolverFactory->createCached('8.8.8.8', $loop);

$factory = new React\HttpClient\Factory();

$client = $factory->create($loop, $dnsResolver);

echo "Page number, Time taken";

for ($page = 1; $page <= $total_page; $page++) {

$loop->addTimer(0.001, function($timer) use ($client, $page) {

$buffer = '';

$request = $client->request('GET', 'http://fantasy.premierleague.com/my-leagues/303/standings/?ls-page='.$page);

$request->on('response', function($response) use (&$buffer) {

$response->on('data', function($data) use (&$buffer) {

$buffer .= $data;

});

});

$request->on('end', function() use (&$buffer, $page) {

\phpQuery::newDocument($buffer);

foreach (pq('.ismStandingsTable tr') as $data) {

foreach (pq('td', $data) as $key => $val) {

if ($key == 2) {

// print pq($val)->text();

}

}

}

$time_end = microtime(true);

$execution_time = $time_end - $GLOBALS['time_start'];

echo ("\n".$page.", ".$execution_time);

});

$request->end();

});

}

$loop->run();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值