- Request Bean
- 使用
- 销毁
Request Bean
score 为 request 类型的 bean, 框架初始化的时候并不会初始化
而是在 onRequest 事件触发后 采用懒加载方式,
只有真正调用的时候才会被初始化,在当前请求中保持单例,请求结束后会被自动销毁。
使用
只能通过获取 BeanFactory::getRequestBean 获取
$obj = BeanFactory::getRequestBean($name, (string)$tid);
- name requestBean 的名称/别名/类名
- tid 通常是与
是顶级协程ID绑定。获取顶级协程ID,Co::tid()获取当前协程环境顶级协程ID。
如果你需要获取当前请求加载了那些 request bean 。可以使用:
$pool = BeanFactory::getContainer()->getRequestPool()
销毁
在所有协程执行完毕后,在SwoftEvent::COROUTINE_COMPLETE事件中,
会自动销毁与顶级协程ID绑定的request bean。
这时 request bean的生命周期也就结束了。
