[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Вопросы,связанные с $_SESSION
Страницы: 1, 2, 3, 4, 5
Valick
Rand, ну нельзя человека осуждать за то, что он любит мясо, но не хочет убивать корову собстенными руками smile.gif Такая вот аллегория, абстракция и инкапсуляция в одном флаконе smile.gif

_____________
Стимулятор ~yoomoney - 41001303250491
Rand
MiksIr
Про вред блокировки вообще никто ничего не говорил, их присутствие или отсутствие зависит от хранилища и самого программиста.
Цитата (MiksIr @ 3.08.2013 - 17:00)
А самое главное - нужно просто ответить себе на вопрос - вот я трачу время на написание обертки... зачем? Какие задачи решаются? Если это попытка оживить помирающий под нагрузкой проект со стандартным обработчиком - это одно. А если изначально...

Обертка - это сокрытие реализации (принцип ООП), как раз смысл писать её есть только во втором случае, т.к. в готовом проекте уже понапиханы в коде $_SESSION и проще просто сделать session_set_save_handler. Скорее я задам себе другие вопросы: Если я выберу ваш вариант, какие преимущества я получу при отказе от давно проверенного, зарекомендовавшего себя решения? Так ли это хорошо, чтобы я тратил на это время, которое я возможно мог бы посвятить более серьезным вещам?

Также в защиту сессий скажу - им куки вообще не нужны, можно просто передать PHPSESSID, или, например, можно инициировать сессию, даже не получая данные по HTTP, вызвав session_id.
Rand
Цитата (MiksIr @ 3.08.2013 - 21:13)
Это тоже обертка.

Не всё, что меняет алгоритм, есть обертка. Я говорил про ту обертку, которая должна скрыть стандартный механизм сессий полностью, обработчик лишь меняет его часть. Вы, правда, можете называть это как хотите, я уже понял, что либо у нас есть расхождения в терминологии, либо вы просто любите поспорить.
Цитата (MiksIr @ 3.08.2013 - 21:13)
Вы не засрете себе стораджи непонятно чем и не наделаете ошибок используя сессию для кеширования

Никогда не сталкивался с какими-то проблемами при использовании сессий. Повезло или я просто правильно их готовлю?
Цитата (MiksIr @ 3.08.2013 - 21:13)
Про то, что куки не нужны - это даже не смешно, это уже детей даже учат отключать передачу идентификатора через GET

Мне тоже не смешно, если вы не понимаете, что я говорю о технических преимуществах и смотрите на сессии только в контексте браузер <-> php. Я же смотрю на них в том числе и в контексте php cli, там мне куки как сбоку припёка.
Guest
Цитата
Если я выберу ваш вариант, какие преимущества я получу при отказе от давно проверенного, зарекомендовавшего себя решения? Так ли это хорошо, чтобы я тратил на это время, которое я возможно мог бы посвятить более серьезным вещам?


Вот это весомый аргумент. Одно дело говорить о чистоте реализации и экономии каких-то долей секунд, исключая лишние механизмы, совсем другое говорить об удобстве реализации и экономии на этом времени.

Если бы "мы" хотели создать идеальный танк, мы бы вряд ли войну выиграли. "Мы" взяли самое оптимальное решение и запустили его в серийное производство, продолжая при этом думать дальше в поисках еще лучших решений. Голову еще ни кто не отменял, но и целесообразности тех или иных подходов в конкретных случаях тоже не стоит забывать.

И сам спор в принципе бессмысленный. Это равносильно холивару использовать фреймворки или нет. Ответ все знают.
Rand
Цитата (Guest @ 4.08.2013 - 00:30)
И сам спор в принципе бессмысленный.

Да я в общем-то согласен, и не хотел вступать в дискуссию, но коли начали мои слова по буквам разбирать, не смог удержаться biggrin.gif
Rand
Цитата (MiksIr @ 4.08.2013 - 01:09)
Сессии для CLI? Это и правда не смешно

А что вас не устраивает? Там реализация будет немного другая, но сессия останется сессией.

Представьте такую архитектуру:

DB <-------> Server 2 <-------> AMQP Server <-------> Server 1 <-------> Client

Связь с БД имеет только Server 2, который обрабатывает сообщения, переданные по AMQP протоколу. В целях безопасности с внешним миром он вообще связи не имеет, связь только вот с этим AMQP сервером. Степень доверия к AMQP-серверу низкая. Пользователь может обращаться только к Server 1. И так, внимание вопрос: Как на Server 2 я узнаю, что Client авторизован и где мне хранить временные данные относящиеся к конкретному сеансу и как их очищать при его завершении? Сдается мне, что то, что вы придумаете, будет очень сильно напоминать сессии.
Rand
Цитата (MiksIr @ 4.08.2013 - 01:34)
Авторизует сервер2?

Да. Фишка в том, что авторизовывать можно не только браузер, это может быть любое приложение, которое механизм кук вообще не поддерживает, это может быть Server 3, Server 4 или вообще пользовательские приложения как в социальных сетях. Но даже если на другом конце только браузер, зачем мне гонять туда-сюда какие-то куки, когда достаточно выдать access-token, который будет служить идентификатором сессии и использовать вполне работоспособное, универсальное, а главное готовое решение? Кэш именован этим самым токеном, и может быть легко удален при логауте.
Rand
В сессии хранится user id и техническая информация, не связанная с моделями, например там может хранится текущие состояние для алгоритмов, построенных по принципу конечного автомата.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.