常規(guī)情況下,api想無狀態(tài),個么session就是浪費咯
但是系統(tǒng)啟動路徑是:start.php -> (config)bootstrap.php-> Session.php implements Bootstrap類的start接口啟動
沒想到好辦法在指定的路由上禁用session,有沒有好辦法取巧一下呢?
進(jìn)程啟動的時候初始化session模塊的消耗可以忽略不計,在性能不存在浪費的說法。
如果你不使用session,就不調(diào)用$request->session()
方法就好了,它在請求處理過程中不會有任何消耗。
如果你想在特定的控制器上禁用 $request->session()
方法,可以在 support/Request.php
重寫session()
方法。support/Request.php
是個空文件,是專門用來重寫$request相關(guān)方法的。
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();
}
}