webman没有找到适合的切入点禁用session

嘿嘿档

常规情况下,api想无状态,个么session就是浪费咯
但是系统启动路径是:start.php -> (config)bootstrap.php-> Session.php implements Bootstrap类的start接口启动

没想到好办法在指定的路由上禁用session,有没有好办法取巧一下呢?

1414 1 0
1个回答

walkor

进程启动的时候初始化session模块的消耗可以忽略不计,在性能不存在浪费的说法。

如果你不使用session,就不调用$request->session()方法就好了,它在请求处理过程中不会有任何消耗。

如果你想在特定的控制器上禁用 $request->session()方法,可以在 support/Request.php重写session()方法。support/Request.php 是个空文件,是专门用来重写$request相关方法的。

class Request extends \Webman\Http\Request
{
    public function session()
    {
        if ($this->controller === 'app\controller\api') {
            throw new \Exception('session forbidden for api');
        }
        return parent::session();
    }
}
年代过于久远,无法发表回答
🔝