比如我在控制器中设置一个类:
public $count=1;
如果
public function index(\support\Request $request)
{
View::assign('count',$this->count++);
return view('index/index');
}
这样所有客户端访问到的 $count 都是同一个变量,和我预想的只有静态属性才会共享不太一样。
那么如果我用
public $userinfo
保存当前用户信息,
那么在大量访问的情况下,会不会出现a用户和b用户信息错乱的情况呢?
控制器实例默认是复用的,如果不习惯可以关闭复用。
参考手册 https://www.workerman.net/doc/webman/controller.html#%E6%8E%A7%E5%88%B6%E5%99%A8%E7%94%9F%E5%91%BD%E5%91%A8%E6%9C%9F
如果复用的话,可以如何规避这些问题?
感觉某些公用的属性复用的话,性能是不是会好一点?
请求不要更改控制器的属性就行了,控制器本身也不应该和某个请求耦合一起。
关闭控制器复用的性能损失和业务比起来可以忽略不计。