Yii2 中cookie的用法(2)

2021-09-08 13:26:27 字數 1026 閱讀 9084

設定cookie

phpsetcookie("name", "larry", time()+3600);

yii2

$cookies->add(new

\yii\web\cookie([

'name' => 'name',

'value' => 'larry',

'expire'=>time()+3600]));

建立名為"name"的cookie,賦值為"larry",並且規定該cookie一小時後失效

expire這是乙個unix時間戳,如果設定為0,或省略,該cookie將在瀏覽器關閉時消失

獲取cookie

php$name=$_cookie["user"]

yii2

注意此處是request

$language = $cookies->get('user', 'defaultname');//

設定預設值

檢查cookie

phpif(isset($_cookie["user"]))

yii2

if (isset($cookies['user']))

if ($cookies->has('user'))

if (isset($cookies['user']))

刪除cookie

phpsetcookie("user", "", time()-3600);//

把失效日期設定為過去1小時

unset($_cookie['user']);

###yii2

$cookies->remove('user');

常見問題

a.cookie的key不能含「.」 符號,會被解析成「_」,導致具有以上符號的key獲取不到cookie的bug

1.如果把第乙個用來設定cookie,會報錯:`the cookie collection is read only`

2.如果把第二個用來獲取cookie,程式正常執行未發生異常,但會獲取不到cookie,不容易察覺。。。

Yii2 中cookie的用法(1)

yii使用 yii web cookie物件來代表每個cookie,yii web request 和 yii web response 通過名為 cookies 的屬性維護乙個cookie集合,前者的cookie 集合代表請求提交的cookies,後者的cookie集合表示傳送給使用者的cooki...

yii2中findOne的用法

你資料庫中設計的表主鍵為id的時候才可以使用findone id 去查詢資訊 否則你需要通過find 進行檢視或者通過hasone 分析 baseactiverecord.php檔案中 一 public static function findone condition 二 protected st...

yii2的AR中indexBy()的用法

以人話的形式表達 用 asarray 來看更爽一點。之前array 0 array order id gd1811220941151655 failure types 1 array order id gd1811152028391624 failure types 加了indexby order ...