FuelPHP Cookie
fuelphp cookie
cookie 提供客戶端數據存儲,僅支持少量數據。通常,每個域為 2kb,這取決于瀏覽器。 session 提供服務器端數據存儲,支持海量數據。讓我們來看看如何在 fuelphp web 應用程序中創建 cookie 和會話。
cookie
fuelphp 提供了一個 cookie 類來創建一個 cookie 項。 cookie 類用于創建、分配和刪除 cookie。
配置 cookie
cookie 類可以通過主應用程序配置文件全局配置,位于fuel/app/config/config.php。其定義如下。
'cookie' => array ( //number of seconds before the cookie expires 'expiration' => 0, //restrict the path that the cookie is available to 'path' => '/', //restrict the domain that the cookie is available to 'domain' => null, // only transmit cookies over secure connections 'secure' => false, // only transmit cookies over http, disabling javascript access 'http_only' => false, ),
方法
cookie 類提供創建、訪問和刪除 cookie 項的方法。它們如下:
set()
set 方法用于創建 cookie 變量有能力的。它包含以下參數,
- $name-$_cookie 數組中的鍵。
- $value-cookie 的值。
- $expiration-cookie 應該持續的秒數。
- $path-cookie 可用的服務器上的路徑。
- $domain-cookie 可用的域。
- $secure-如果您只想通過安全連接傳輸 cookie,請設置為 true。
- $httponly-僅允許通過 http 傳輸 cookie,禁用 javascript 訪問。
cookie::set('theme', 'green');
get()
get 方法用于讀取 cookie 變量。它包含以下參數,
- $name-$_cookie 數組中的鍵。
- $value-鍵在 $_cookie 數組中不可用時返回的值。
cookie::get('theme');
delete()
delete 方法用于刪除一個 cookie 變量。它包含以下參數,
- $name-$_cookie 數組中的鍵。
- $value-cookie 的值。
- $domain-cookie 可用的域。
- $secure-如果您只想通過安全連接傳輸 cookie,請設置為 true。
- $httponly-僅允許通過 http 傳輸 cookie,禁用 javascript 訪問。
cookie::delete('theme');
會話
fuelphp 提供類, session 來維護應用程序的狀態。
配置會話
session 類可以通過特殊的配置文件 fuel/core/config/session.php 進行配置。一些重要的配置條目如下:
- auto_initialize-自動初始化會話。
- driver-會話驅動程序的名稱。 session 是使用驅動程序實現的,可能的選項有 cookie、db、memcached、redis 和 file。默認驅動程序是 cookie。
- match_ip-檢查客戶端 ip。
- match_ua-檢查客戶端用戶代理。
- expiration_time-以秒為單位的會話超時值。
- rotation_time-更新會話的時間。
會話方法
session 類提供操作會話數據的方法。它們如下,
實例()
instance 方法返回默認或特定實例,由名稱標識。
$session = session::instance(); // default instance $session = session::instance('myseesion'); // specific instance
set()
set 方法用于分配 session 變量。
session::set('userid', $userid);
get()
get 方法允許您從會話中檢索存儲的變量。
$userid = session::get('userid');
delete()
delete 方法允許您刪除存儲的會話變量。
session::delete('userid');
create()
create 方法允許您創建一個新會話。如果會話已經存在,它將被銷毀并創建一個新會話。
session::create();
destroy()
destroy 方法用于銷毀現有會話。
session::destroy();
read()
read 方法允許您讀取會話。
session::read();
write()
write 方法允許您編寫會話。
session::write();
key()
key 方法允許您檢索會話密鑰的元素。鍵的值是唯一的。
$session_id = session::key('session_id');