Session
的屬性及作用如下:
# sessionid, 要麼是從請求的 cookie 中獲取,要麼是生成的
protected $id;
# session的name,在配置檔案 session.php 中的 cookie item 決定
protected $name;
# 存放 session 資訊,其中鍵名為
# flash.old 存放上一次請求儲存進 session 的 $attributes 中的 key
# flash.new 存放 當前請求儲存進 session 的 $attributes 中的 key
# _old_input 呼叫 flash() 存放當前請求的 input 陣列;在請求中呼叫 old() 可以獲取 session 中 __old_input 的鍵值對
protected $attributes = [];
# session 中的包集合, 關於包的這部分,用法不明
protected $bags = [];
# session start時會建立空包;儲存後設資料;
protected $metaBag;
# 儲存包名與 session 中相關資料的對應關係;
protected $bagData = [];
# 儲存 Session 資訊的驅動(例如:檔案或 Cache)
protected $handler;
# StartSession 中介軟體開始時設為 true, 處理完請求要返回的時候設為 false; 該狀態值,第三方庫獲取會用到
protected $started = false;
Cookie
模組有 EncryptCookies
中介軟體,用於解密請求中的 Cookies
資訊,在返回響應時會加密 Cookie
資訊;
請求攜帶的 cookie
儲存在 \Symfony\Component\HttpFoundation\ParameterBag
集合,不會原路返回新增響應;
Symfony\Component\HttpFoundation\Cookie
結構:
# cookie 名稱
protected $name;
# cookie 值
protected $value;
# 指示 cookie 將要傳送到哪個域或那些域中。預設情況下,domain 會被設定為建立該 cookie 的頁面所在的域名。
protected $domain;
# 指定了cookie何時不會再被髮送到伺服器端的;該選項所對應的值是一個格式為Wdy,DD-Mon--YYYY HH:MM:SS GMT的值;沒有expires選項時,cookie的壽命僅限於單一的會話中。
protected $expire;
# 定義了Web伺服器上哪些路徑下的頁面可獲取伺服器設定的Cookie。
protected $path;
# 該選項只是一個標記並且沒有其它的值。一個secure cookie只有當請求是通過SSL和HTTPS建立時,才會傳送到伺服器端。用來標記是否是 https 請求
protected $secure;
# 一旦設定這個標記,通過documen.coookie則不能再訪問該cookie。
protected $httpOnly;