За последние 24 часа нас посетили 36733 программиста и 1708 роботов. Сейчас ищут 1204 программиста ...

Сессии использовать или нет

Тема в разделе "PHP для новичков", создана пользователем Алекс8, 13 янв 2018.

  1. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    Делают я тут один проект.. и заодно решил для себя сделать небольшой движок, что бы использовать потом его в своих небольших проектах.
    И задумался насчет сессий, читал что современные фреймворки не используют нативные сессии, эмулируют их работу, хранят все данные в базе. Кстати не только фреймворки и не только современным) тот же SMF (движок форума) тоже насколько я помню хранит в базе все))
    Насколько это оправдано и насколько это надо делать)) ??))
     
    MouseZver нравится это.
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Ответ тут такой же, как и всегда в подобных случаях - зависит от конкретного случая.
     
    Алекс8 нравится это.
  3. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Нашел хороший пример, дырявый спамосборщик этот движок судя по проблемам здесь.
    Приведи аргументы чем пхп сессии плохи.
     
    Алекс8 нравится это.
  4. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    нормальный движок)) ни о каких проблемах не знаю))

    а аргументов нет)) вижу просто что такая тенденция есть.
     
  5. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну с какой целью некоторые фреймворки (Laravel, к примеру) делают свои сессии на файлах - ХЗ. Но сессии на основе базы данных или к примеру Redis-а имеют важное преимущество - они могут быть не блокирующими. Иногда может быть полезно, чтоб фронт мог два параллельных запроса к бэку сделать.
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Механизм сессий PHP тоже может быть неблокирующим. Сразу после открытия сессии файл можно отпустить. И синхронизировать его содержимое с массивом $_SESSION через хэндлер завершения приложения самому.
     
    MouseZver нравится это.
  7. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    @Fell-x27, для этого надо телодвижения делать. Правда, если самостоятельно реализовывать сессии на redis-е, то тоже прилично телодвижений. Но готовые пакеты наверняка и фреймворконезависимые есть. Ну и Redis быстрее, в дополнение.
     
  8. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Продолжайте продолжайте :)
    Мне тоже интересно, почему ларавелька заюзала библию нежели использовать обычную сессию
    --- Добавлено ---
    Понятие авторов таковы - все интимные данные должны находится в базе данных :D
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Потому что разработчики фреймворков часто видят в уже существующих инструментах один фатальный недостаток. Автор JQuery вот, настолько увлекся борьбой с фатальными недостатками JS, что написал свой собственный JS поверх существующего.
     
    MouseZver нравится это.
  10. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Я вот недавно заказчику накатал
    Код (Javascript):
    1. document.querySelector(".newYearHistory").forEach(/* ... */)
    А он мне: твой код не работает на некоторых андроидах и в IE 11. Оказывается, forEach не все браузеры поддерживают, из актуальных, надо полифилл делать. А если бы было $(".newYearHistory").each(/* */), то это были бы не мои проблемы.
     
  11. MouseZver

    MouseZver Суперстар

    С нами с:
    1 апр 2013
    Сообщения:
    7.817
    Симпатии:
    1.333
    Адрес:
    Лень
    Прекрасный пост. Прям в яблочко:)
     
  12. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Да люди не живут в рамках и создают успешные продукты, а фатальные недостатки в основном в коде а не в ЯП, поэтому и чистите тут спам :)
     
  13. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Надо бабель юзать. В нем все уже учтено.
    --- Добавлено ---
    Да, так на всякий, у нас тут не SMF, а Xenforo. И он хранит в базе даже CSS, прстгспди.
     
  14. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    И уменьшить вероятность.
     
  15. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Да, так на всякий,
    Вероятность чего? Удачной синхронизации, потому как приложение может помереть мимо хендла в ряде случаев? Или ты про вероятность блокировки при параллельных запросах, попутно повышающую шанс на состояние гонки?
     
  16. romach

    romach Старожил

    С нами с:
    26 окт 2013
    Сообщения:
    2.904
    Симпатии:
    719
    Ага. Проблема то не решена в итоге.
     
  17. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    Складывается впечатление что у вас имитация умного разговора.
    Может дали бы ссылку на "проблему"?
     
  18. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Нет, просто у тебя пока недостаточно знаний/квалификации, чтобы понять его. Это норм. Со временем нагонишь.
    --- Добавлено ---
    Ну, по дефолту, пыха ждет снятие блокировки сессии при обработке запроса. В данном случае, грубо, вместо блокировки на 0.01 секунду получаем блокировку на 0.00001 секунду. Это даже не окно, это игольное ушко. Ну а гонка...это уже зависит от того, что храним в сессии. В 95% это некие фундаментальные данные. Права доступа, логин там.. Они пишутся при инициализации единожды. Им гонка не страшна. А даже если бы страшна была, это какая плотность запросов нужна от живого человека, чтобы пробить вышеописанное окошко? Крч, мб на уровне сферического коня в вакууме проблема и не решена, но в реальности она не будет иметь место.

    Я вот для себя вижу такие плюсы в работе сессий на БД\мемкеше:
    1) Отсутствие фрагментации ФС и задрачивания носителя.
    2) Отсутствие геморроя при горизонтальном масштабировании.
    --- Добавлено ---
    Но оба пункта актуальны, только когда у тебя многие тысячи хитов в день. А до этого дожить надо.
     
    romach нравится это.
  19. keren

    keren Новичок

    С нами с:
    15 ноя 2017
    Сообщения:
    513
    Симпатии:
    42
    А для этого есть облачные бак энд сервисы, а все эти фрагментации и дребезжание контактов это прошлый век :)
     
  20. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    заложил возможность смены типа сессий)) что бы если что всегда можно было с нативных переключить на БД)
     
  21. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Держи нас в курсе.
     
  22. Chushkin

    Chushkin Активный пользователь

    С нами с:
    17 дек 2010
    Сообщения:
    1.062
    Симпатии:
    91
    Адрес:
    Мещёра, Центр, Болото N3
    3) Просто удобно.
    Можно посмотреть, легко сделать поиск, выборку, посчитать статистику.
     
  23. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Внести правки..
     
  24. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Алекс8 нравится это.
  25. Алекс8

    Алекс8 Активный пользователь

    С нами с:
    18 май 2017
    Сообщения:
    1.730
    Симпатии:
    359
    а я уже класс Session сделал и там выбор вида сессий исходя из настроек)) про это и не знал..