### 配置介绍
如果你是使用**归档文件**(也就是官网下载下来的压缩包)安装的Yii,那么你必须到`config/web.php`下配置好`cookieValidationKey`才能正常访问Yii,配置方法很简单,脸滚键盘打一串英文+数字就行了
#### 那么它有啥用呢?
默认情况下,Yii生成的Cookie值会很长,原因是Yii在Cookie值的前面加了一段hash,这个hash是用`Cookie`值+`cookieValidationKey`值生成的,用于校验Cookie的完整性,防止客户端非法篡改。
#### 如何关闭?
在`cookieValidationKey`下面加一行`enableCookieValidation => false`就行了。这样你的Cookie就跟原生的一样了。不过为了安全性并不建议关闭,除非有特殊需求(例如需要兼容另外一套系统的Cookie)
### 读取Cookie
```php
// 从请求获取cookies组件实例
$cookie = Yii::$app->request->cookies;
// 获取cookies值
$cookie->getValue('cookieName');
```
>[info] 这里用的是`getValue`方法,返回的是字符串
而`get`方法返回的是`yii\web\Cookie`的实例,是一个cookie对象
### 写入Cookie
```php
// 从响应获取cookies组件实例
$cookie = Yii::$app->response->cookies;
$cookie->add(new yii\web\Cookie([
'name' => 'cookieName',
'value' => 'coockieValue',
'expire' => time()+3600,
]));
```
>[info] 这次是从响应(response)中获取cookie组件的
与读取则需要从请求(request)中获取
同理,删除cookie时也需要从响应(response)中获取cookie组件