设置 cookie

要设置 cookie,即创建它并安排发送到浏览器,你需要创建新的\yii\web\Cookie 类实例并将其添加到响应 cookie 集合:

$cookie = new Cookie([
    'name' => 'cookie_monster',
    'value' => 'Me want cookie!',
    'expire' => time() + 86400 * 365,
]);
\Yii::$app->getResponse()->getCookies()->add($cookie);

在上面我们将参数传递给 cookie 类构造函数。这些与本机 PHP setcookie 函数基本相同 :

  • name - cookie 的名称。
  • value - cookie 的值。确保它是一个字符串。浏览器通常不满意 cookie 中的二进制数据。
  • domain - 你正在设置 cookie 的域名。
  • expire - unix 时间戳,指示应自动删除 cookie 的时间。
  • path - 服务器上可用 cookie 的路径。
  • secure - 如果 true,只有在使用 HTTPS 时才会设置 cookie。
  • httpOnly - 如果 true,将无法通过 JavaScript 获取 cookie。