пятница, 31 января 2014 г.

Куки в Zend Framework, setcookie и header('Set-Cookie: ');

По старинке для уставновки cookie всегда пользовался setcookie, но так как сейчас использую Zend Framework 1.12 то решил воспользоваться его методами. А именно так как они рекомендуют в мануале:

  1. $this->getResponse()->setRawHeader(new Zend_Http_Header_SetCookie(
  2.     'foo''bar'NULL'/''example.com'falsetrue
  3. ));

Все бы ничего, но позже у меня возникла ошибка и только после действительного долгого поиска я обнаружил что проблема в том, что такой метод отправки cookie перезатирает все остальные куки которые уже установила страница. Дальше я нарыл, что метод setRawHeader использует встроенную функцию php - header для установки cookie:

header('Set-Cookie:  ...');

И собственно эта функция и затирает все что уже было отослано.

Погуглив я нашел, что я не один - http://stackoverflow.com/questions/5499476/is-it-ok-to-send-cookie-headers-directly-with-header-calls (см после: EDIT: AN IMPORTANT NOTICE)

После этого пришлось вернуть код обратно к setcookie.

Но меня мучает вопрос - Что я упускаю в Zend Framework? Неужели Zend не знает об этом?

1 комментарий:

  1. How to get to Las Vegas by Bus or Train from Las Vegas - Dr.MCD
    Las Vegas Nevada 공주 출장마사지 · The cheapest way 구미 출장안마 to 부산광역 출장안마 get from Las Vegas to Las 원주 출장안마 Vegas costs only $6, and the quickest way 화성 출장샵 takes just 3 mins.

    ОтветитьУдалить

Популярные сообщения