Yii2中cookie用法示例分析

字號:


    本文實例講述了Yii2中cookie用法。分享給大家供大家參考,具體如下:
    <?php
    //設置方法
    $cookie = new Cookie([
      'name' => 'cookie_monster',
      'value' => 'Me want cookie!',
      'expire' => time() + 86400 * 365,
    ]);
    \Yii::$app->getResponse()->getCookies()->add($cookie);
    //讀取方法
    $value = \Yii::$app->getRequest()->getCookies()->getValue('my_cookie');
    //給cookie加域名
    $cookie = new Cookie([
      'name' => 'cookie_monster',
      'value' => 'Me want cookie everywhere!',
      'expire' => time() + 86400 * 365,
      'domain' => '.example.com' // <<<=== HERE
    ]);
    \Yii::$app->getResponse()->getCookies()->add($cookie);
    //設置登錄cookie
    $config = [
      // ...
      'components' => [
        // ...
        'user' => [
          'class' => 'yii\web\User',
          'identityClass' => 'app\models\User',
          'enableAutoLogin' => true,
          'loginUrl' => '/user/login',
          'identityCookie' => [ // <---- here!
            'name' => '_identity',
            'httpOnly' => true,
            'domain' => '.example.com',
          ],
        ],
        'request' => [
          'cookieValidationKey' => 'your_validation_key'
        ],
        'session' => [
          'cookieParams' => [
            'domain' => '.example.com',
            'httpOnly' => true,
          ],
        ],
      ],
    ];
    //只給批定目錄配置cookie
    $config = [
      // ...
      'components' => [
        // ...
        'session' => [
          'name' => 'admin_session',
          'cookieParams' => [
            'httpOnly' => true,
            'path' => '/admin',
          ],
        ],
      ],
    ];
    ?>
    希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。