Yii2.0.13 Session 和 Cookie处理

Cookie处理:

        Yii2的Cookie主要是通过yii\web\Request和yii\web\Response进行操作的 ,通过\Yii::$app->response->getCookies()->add()添加Cookie,通过\Yii::$app->request->cookies读取Cookie.

        1)、添加一个Cookie:

 //第一种方法
$cookie = new \yii\web\Cookie();
$cookie -> name = 'smisters2';        //cookie的名称
$cookie -> expire = time() + 3600;	   //存活的时间
$cookie -> httpOnly = true;		   //无法通过js读取cookie
$cookie -> value = 'cookieValue';	   //cookie的值

\Yii::$app->response->getCookies()->add($cookie);

//第二种方法
$cookie = new \yii\web\Cookie([
    'name' => 'ck2',
    'expire' => time() + 3600,
    'httpOnly' => true,
    'value' => 'cookieValue'
]);

\Yii::$app->response->getCookies()->add($cookie);

       2)、 读取一个Cookie

$cookie = \Yii::$app->request->cookies;

//返回一个\yii\web\Cookie对象
$cookie->get('smister');

//直接返回Cookie的值
$cookie->getValue('smister'); //$cookie[‘smister’] 其实这样也是可以读取的

//判断一个Cookie是否存在
$cookie->has('smister');

//读取Cookie的总数
echo $cookie->count();//$cookie->getCount();跟count一样

        3)、删除Cookie

$cookie = Yii::$app->request->cookies->get(‘smister’);

//移除一个Cookie对象
\Yii::$app->response->getCookies()->remove($cookie);

//移除所有Cookie,目前好像不太好使
\Yii::$app->response->getCookies()->removeAll();

        4)、注意

    对Cookie进行增删改时调用的response , 对Cookie读取时使用的是Request


Session处理:

使用YI::app->session获取session组件Yii2的Session比较简单 ,直接通过\Yii::$app->session进行操作就好了

1) 添加一个session

<?php$session = \Yii::$app->session;
$session->set('smister_name' , 'myname');
$session->set('smister_array' ,[1,2,3]);?>

2) 读取一个session

$session = \Yii::$app->session;

//读取一个Session
$session->get('smister_name);

3) 删除Session

$session = \Yii::$app->session;

//删除一个
session$session->remove(‘smister_name’);
//删除所有session
$session->removeAll();
?>

        冷暖自知一抹茶ck



冷暖自知一抹茶ck
请先登录后发表评论
  • 最新评论
  • 总共0条评论