首頁 php框架 Laravel laravel中的session的CURD操作

laravel中的session的CURD操作

Dec 16, 2020 pm 10:05 PM
laravel

HTTP協定是無狀態的,所以有了cookie和session技術,它們之間配合來維護一個狀態。在laravel中設定及取得session是非常方便的。下面,我們就一起來看看吧。

設定

session是儲存在伺服器上的,預設的session是儲存在伺服器上的檔案中。但該方法的效率不高,目前流行的是將session保存在redis或memcached第三方資料庫中。這些nosql的讀寫效率非常高,而且更容易管理。下面,看laravel是如何設定session的

laravel的session設定檔是在config/session.php中。此設定檔中可以配置session儲存的方式,有效時間等。

需要配置儲存方式為redis,則需要修改driver設定項,將其改為redis即可。除此之外,還支援本地儲存(預設)、關係型資料庫儲存等。

取得session值

首先來看如何取得session值,透過回應實例request的session方法即可取得,示範程式碼如下:

$request->session()->get('key');

get這個方法的第二個參數是用來設定預設值的,如果麼有取得到對應的session值,則傳回預設值,示範程式碼如下:

$request->session()->get('key', 'default');

第二個參數也可以是一個回呼函數,透過回呼函數傳回一個預設值

$request->session()->get('key', function ()
{
      return 'default';
 });

除了上述的方法外,還可以透過全域的session函數來獲取,它們的用法是一致的。

也可以透過all方法來一次取得所有的session值,該方法傳回一個陣列:

$request->session()->all();

laravel也提供了一個方法來方便的判斷該session是否存在,使用has方法

if ($request->session()->has('key')) {}

另外還有一個exists方法,它與has的差別是has必須存在且不為空才回真,而exists只要存在就回傳真。

設定sesson值

設定session可以透過兩種方法,以下是示範程式碼:

$request->session()->put('key', 'val');
session(['key1' => 'val1', 'key2' => 'val2']);

刪除session值

可以透過forget方法來刪除指定的session,也可以透過flush來刪除所以session。以下是示範程式碼:

$request->session()->forget('k1');
$request->session()->forget(['k1', 'k2', 'k3']);
$request->session()->flush();

相關推薦:《laravel教學

以上是laravel中的session的CURD操作的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

與Laravel中的樞軸表合作多對多關係 與Laravel中的樞軸表合作多對多關係 Jul 07, 2025 am 01:06 AM

toworkeffectivelywithpivottablesinlaravel,firstAccessPivotDatausingwithPivot()orwithTimestamps(),thenupdateentrieswithupdatee XistingPivot(),ManageraliationShipsviadeTach()andsync(),andusecustompivotModelSwhenNeed.1.UseWithPivot()toincludespecificcol

在Laravel應用程序中添加多語言支持 在Laravel應用程序中添加多語言支持 Jul 03, 2025 am 01:17 AM

Laravel應用實現多語言支持的核心方法包括:設置語言文件、動態切換語言、翻譯URL路由及管理Blade模板中的翻譯鍵。首先,將各語言字符串組織在/resources/lang目錄下的對應文件夾(如en、es、fr)中,並通過返回關聯數組定義翻譯內容;2.通過\_\_()輔助函數調用翻譯鍵值,並使用App::setLocale()結合會話或路由參數實現語言切換;3.對於翻譯URL,可通過帶前綴的路由組分別為不同語言定義路徑,或動態映射語言文件中的路由別名;4.在Blade模板中保持翻譯鍵簡潔並

通過Laravel發送不同類型的通知 通過Laravel發送不同類型的通知 Jul 06, 2025 am 12:52 AM

laravelProvidesLeanAndFlexibleWayTosendificationsViamultiplipliplipliplikeMail,SMS,In-Appalerts,and-Appalerts,andPushNotifications.youdefineNotificationChannelsinthelsinthevia()MethodofanotificationClass,andimpecificementpecificementpecificementpecificemmethodssliketomail()

Laravel MVC:真實代碼樣本 Laravel MVC:真實代碼樣本 Jul 03, 2025 am 12:35 AM

Laravel的MVC架構由模型、視圖和控制器組成,分別負責數據邏輯、用戶界面和請求處理。 1)創建User模型定義數據結構和關係。 2)UserController處理用戶請求,包括列出、顯示和創建用戶。 3)視圖使用Blade模板展示用戶數據。該架構提升了代碼的清晰度和可維護性。

了解和創建Laravel的自定義服務提供商 了解和創建Laravel的自定義服務提供商 Jul 03, 2025 am 01:35 AM

ServiceProvider是Laravel框架中用於註冊服務和初始化邏輯的核心機制,通過Artisan命令可創建自定義ServiceProvider;1.register方法用於綁定服務、註冊單例、設置別名等操作,不可調用尚未加載的其他服務;2.boot方法在所有服務註冊完成後運行,用於註冊事件監聽器、視圖合成器、中間件等依賴其他服務的邏輯;常見用途包括綁定接口與實現、註冊Facade、加載配置、註冊命令行指令和視圖組件;建議集中相關綁定於一個ServiceProvider中管理,並註意註冊

在Laravel應用程序中處理異常和記錄錯誤 在Laravel應用程序中處理異常和記錄錯誤 Jul 02, 2025 pm 03:24 PM

在Laravel應用中處理異常和記錄錯誤的核心方法包括:1.利用App\Exceptions\Handler類集中管理未處理異常,通過report()方法記錄或通知異常信息,例如發送Slack通知;2.使用Monolog配置日誌系統,在config/logging.php中設置日誌級別與輸出方式,並在生產環境中啟用error及以上級別日誌,同時可在report()中結合上下文手動記錄詳細異常信息;3.自定義render()方法以返回統一的JSON格式錯誤響應,提升API前後端協作效率。這些步驟確

在Laravel中配置和發送電子郵件通知 在Laravel中配置和發送電子郵件通知 Jul 05, 2025 am 01:26 AM

tosetupemailnotificationsinlaravel,firstConfigureMailSettingsInthe.envfilewithsmtporservice-specificedetailslikemail \ _mailer,m ail \ _host,郵件\ _ port,郵件\ _username,郵件\ _password,andmail \ _from \ _address.next,testtheconfigurationusingmailsmail :: raw()raw()tosendasam

管理數據庫狀態進行Laravel測試 管理數據庫狀態進行Laravel測試 Jul 13, 2025 am 03:08 AM

在Laravel測試中管理數據庫狀態的方法包括使用RefreshDatabase、選擇性播種數據、謹慎使用事務和必要時手動清理。 1.使用RefreshDatabasetrait自動遷移數據庫結構,確保每次測試都基於乾淨的數據庫;2.通過調用特定種子填充必要數據,結合模型工廠生成動態數據;3.使用DatabaseTransactionstrait回滾測試更改,但需注意其局限性;4.在無法自動清理時,手動截斷表或重新播種數據庫。這些方法根據測試類型和環境靈活選用,以保證測試的可靠性和效率。

See all articles