[英]which to use Cookie or Session? laravel 5.7 - to store data for 5 minutes
伙計們,我正在嘗試在 laravel 5.7 的應用程序中進行 4 步付款
然后我想將這些數據存儲在 4 個步驟中,直到付款完成,然后我想將它們存儲在數據庫中
這 4 個步驟包含:
現在請更喜歡你的方式
使用哪個? cookie或會話或其他什么?
我會使用會話,但我希望這些數據在 5 分鍾后銷毀,如果我選擇會話生存期為 5 分鍾,所有會話數據都將像我的登錄會話一樣銷毀,我只想銷毀我創建的會話。
您要臨時存儲的數據是電子商務方面的購物車報價數據。 您可以將此數據存儲在數據庫中,時間戳列expires_at
值為current time + 5 minutes
。
然后在您的模型全局范圍內,它將始終過濾查詢並僅獲取未過期的數據:
/**
* The "booting" method of the model.
*
* @return void
*/
protected static function boot()
{
parent::boot();
static::addGlobalScope('expires_at', function (Builder $builder) {
$builder->where('expires_at', '<=', Carbon::now());
});
}
會話提供了一種跨多個請求存儲用戶信息的方法,您應該檢查https://laravel.com/docs/5.7/session對我來說是最好的選擇。在會話驅動程序配置選項中,您可以定義會話數據的位置為每個請求存儲,例如cookie
,如果會話存儲在安全的加密 cookie 中。 然后,對於有關銷毀數據的問題,您可以使用忘記方法將從會話中刪除一段數據。 如果您想從會話中刪除所有數據,您可以使用flush 方法。
// Forget a single key...
$request->session()->forget('key');
//or
$request->session()->flush();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.