Skip to content
Go back

协程相关知识

Published:  at  08:00 AM

协程上下文思路

<?php
use Hyperf\Context\Context;

// 将 bar 字符串以 foo 为 key 储存到当前协程上下文中
$foo = Context::set('foo', 'bar');
// set 方法会再将 value 作为方法的返回值返回回来,所以 $foo 的值为 bar
<?php
use Hyperf\Context\Context;

// 从当前协程上下文中取出 key 为 foo 的值,如不存在则返回 bar 字符串
$foo = Context::get('foo', 'bar');
<?php
use Hyperf\Context\Context;

// 从当前协程上下文中判断 key 为 foo 的值是否存在
$foo = Context::has('foo');
<?php
use Psr\Http\Message\ServerRequestInterface;
use Hyperf\Context\Context;

// 从协程上下文取出 $request 对象并设置 key 为 foo 的 Header,然后再保存到协程上下文中
$request = Context::override(ServerRequestInterface::class, function (ServerRequestInterface $request) {
    return $request->withAddedHeader('foo', 'bar');
});

Share this post on:

Previous Post
php-memory-tracker 测试
Next Post
软件使用记录