• Request Bean
    • 使用
    • 销毁

    Request Bean

    scorerequest 类型的 bean, 框架初始化的时候并不会初始化

    而是在 onRequest 事件触发后 采用懒加载方式,

    只有真正调用的时候才会被初始化,在当前请求中保持单例,请求结束后会被自动销毁。

    使用

    只能通过获取 BeanFactory::getRequestBean 获取

    1. $obj = BeanFactory::getRequestBean($name, (string)$tid);
    • name requestBean 的名称/别名/类名
    • tid 通常是与是顶级协程ID绑定。获取顶级协程IDCo::tid()获取当前协程环境 顶级协程ID

    如果你需要获取当前请求加载了那些 request bean 。可以使用:

    1. $pool = BeanFactory::getContainer()->getRequestPool()

    销毁

    所有协程执行完毕后,在SwoftEvent::COROUTINE_COMPLETE事件中,
    自动销毁顶级协程ID绑定的request bean

    这时 request bean的生命周期也就结束了。