15432: Я вот ожидал, что произойдет ошибка чтения. Но нет, в переменной 'u' лежит мусор. Этого объекта ТАМ (по адресу 0xCCCCCCCC + небольшое_смещение) и не было. Объекты User и Account лежат в другом месте.
Складывается такое ощущение, что переменная 'acc' имеет тип Account * const. То есть значение указателя после создания этой переменной не поменялось, хотя метод вроде как присваивает ей адрес.
---UPD---
Engine* e = new Engine(...);
Engine e(...);
Разницы увы, нет. Придется оставить это на совести компилятора и переписать.
Предлагаете использовать redis для хранения сессий? А что насчет поддержки хостингами, везде ли это доступно и плюсы/минусы по сравнению с сессиями в php?
Ульрих: все же совет хороший, но далеко не решение моего вопроса, мне нужны именно примеры реализации, вот kstyle дал ссылки на код, а вы - нет. Напомню, что я начинающий кодер и читать 5 мегабайт кода даже под xdebug-ом для меня не самая простая задачка.
Ах да, забыл сказать что пишу с нуля, без сторонних фреймворков и библиотек, исключением будет разве что jquery и какой-нибудь bootstrap. Но все равно спасибо, может возьму что-нибудь полезное оттуда.
Stalker_RED: Ну да, просто я хочу объединить логи, юзер-агенты и сессию в одну запись и называть ее "сессия, контролируемая приложением". Почему нет? Суть не просто в логах. Я планирую любое действие юзера привязывать к его id сессии, а не по дефолту: сохранение IP-адреса и user-agent-а около каждого действия. Модератор сможет просто взять и открыть подробную информацию по сессии, он увидит все действия по порядку: когда, что, откуда. Круто же?
Обычные же сессии удаляются сразу после выхода из аккаунта и такого эффекта уже не выйдет.
Виталий Инчин ☢: обычно гадят сообщениями в чатике. По вреду, это ведь одно и то же (практически отсутствует), но обязательно сделаю, если на тестах скрипт будет проседать.
Ульрих: Пожалуй, лучший ответ =) Только вот кода много, надеюсь PhpStorm раскидает по полочкам.
Раньше ведь на Notepad++ пытался кодить, и такие идеи сразу отлетали)
Интересуют именно профессиональные решения, а не простые чтобы потестить, поиграться. Вот как мой юзер (или модер) узнает, что на аккаунт кто-то заходил? Как сохранить IP-адреса и useragent-ы без базы данных? Да никак, все современные cms используют это.
Зачем каждый день/час логиниться заново, если можно избавиться от этой рутины?
Кирилл Несмеянов: Ну вот вы напиали: при авторизации для юзера генерируется новый токен. Сначала авторизуюсь с компа, потом с телефона. То есть токен меняется, и при обновлении страницы на компе сессия закрывается. Все верно?
Складывается такое ощущение, что переменная 'acc' имеет тип Account * const. То есть значение указателя после создания этой переменной не поменялось, хотя метод вроде как присваивает ей адрес.
---UPD---
Engine* e = new Engine(...);
Engine e(...);
Разницы увы, нет. Придется оставить это на совести компилятора и переписать.