Я захожу на сайт, отправляется сразу три запроса для подгрузки трех блоков и на приеме в бэкенде я пытаюсь установить куку ОДИН раз, но перед тем делаю проверку, на ее существование. Поскольку запросы пришли одновременно в их заголовках нет куки, и проверка не помогает, в заголовках нечего не находится и поэтому value куки присваивается несколько раз, так как hash для каждого запроса разный и в итоге присваивается hash последнего запроса
Код: Выделить всё
public static function setCookies(){
$cookies = Yii::$app->request->cookies->getValue('name_cookie');
if(!$cookies){
$set_cookies_date = (new DateTime())->modify('+1828 day')->format('d.m.Y H:i:s');
$ip = Yii::$app->request->userIP;
$hash = md5(microtime() . rand(0, 1000) . $ip);
$set_cookies = Yii::$app->response->cookies;
$set_cookies->add(new \yii\web\Cookie([
'name' => 'name_cookie',
'value' => $hash,
'domain' => 'site.local',
'expire' => strtotime($set_cookies_date),
]));
}
}
Как это сделать?