LotusPhp 的 Cookie 組件也是非常簡單易用的。
首先,要新建一個配置文件,文件名為 cookie.conf.php,至於放在哪裡等到講到 Config 組件的時候會有一個闡述,今天先說怎麼用,需要哪些步驟。
Cookie 配置文件的主要內容就是定義 Cookie 的加密密匙,程序裡自動對 Cookie 內容進行加密,當然這樣有一個弊端,就是客戶端無法直接讀取和操作,只能服務器來操作。如果你要直接用 js 在客戶端操作 Cookie ,那最好還是不要用 LotusPhp 的 Cookie 組件。
密匙可以是任意字符,配置文件內容如下:
復制代碼 代碼如下:
<?php
$config['cookie.secret_key'] = 'sdfs445e22$$$@%T';
組件的使用方法如下:
復制代碼 代碼如下:
<?php
// 單例模式聲明 Cookie 對象
$cookie = LtObjectUtil::singleton('LtCookie');
// 或者用常規方式聲明 Cookie 對象
// $cookie = new LtCookie();
// $cookie->init();
/*
* 寫入 Cookie ,設置 Cookie 的方法其實和 php 內置的setcookie 是一樣一樣的
* $name Cookie 名稱,必填項
* $value Cookie 值,可以是字符串可以是數組
* $expire 過期時間,是一個標准的Unix時間標記,可以用time()或mktime()函數取得,以秒為單位,選填
* $path Cookie 路徑,選填
* $domain Cookie 域名,選填,如果多個二級域名之間共享 Cookie ,就設置為根域名即可
* $secure 參數表示這個Cookie是否通過加密的 HTTPS 協議在網絡上傳輸,默認值為0,就是代表不是使用 HTTPS 協議,如果是的話改成1
* 方法: $cookie->setCookie($name, $value = '', $expire = null, $path = '/', $domain = null, $secure = 0);
* 范例 :userName 值為 '我是帥哥' ,有效期為一個小時,路徑為根目錄,域名為 myDomain.com ,不在 HTTPS 下傳輸
* $cookie->setCookie('userName', '我是帥哥', time()+3600, '/', 'myDomain.com', 0);
*/
$cookie->setCookie('userName', '我是帥哥');
/*
* 讀取 Cookie
* $name Cookie 名稱,必填項
* 方法: $cookie->getCookie($name);
* 如果 Cookie 值存在會返回值,不存在返回null
*/
$cookie->getCookie('userName');
/*
* 刪除 Cookie
* $name Cookie 名稱,必填項
* $path Cookie 路徑,選填
* $domain Cookie 域名,選填,如果多個二級域名之間共享 Cookie ,就設置為根域名即可
* 方法: $cookie->delCookie($name, $path = '/', $domain = null)
*/
$cookie->delCookie('userName');
最後,附上php 操作 Cookie 的文章,大家可以對照下,其實 LotusPhp 設置 Cookie 和 Php 設置 Cookie 是一樣的
在PHP中設置、使用、刪除Cookie的解決方法