место в рейтинге
  • 213738
  • 2580
  • 153
Нравится блог?
Подписывайтесь!

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

Разворошим это забытое всеми сообщество.

Надеюсь это родит ещё ряд постов (хотя по традиции, с меня ещё один пост).

Кстати, пост о необходимости форматирования исходных кодов так и не попал на главную. Конечно, ведь там не про Баркемп.

Поэтому придется все исходные коды выложить на сторонний ресурс. Трахаться со здешним редактором желания нет.

В общем, задача такая: узнать кто же у нас шарится по сайту в данный момент?

Что-то типа "who is online"

 

 

 

Узнаем мы эту информацию конечно же из сессии пользователя.

В ЗФ есть возможность хранить сессии в базе данных. Для этого используется класс Zend_Session_SaveHandler_DbTable.

Им мы и воспользуемся, слегка расширив его под наши нужды.

Добавляем в таблицу session поле user_id, где будем хранить ID активного юзера. По этой ссылке с крутым номером SQL-запрос: http://codepaste.ru/3333/

Зеркало:http://www.copypastecode.com/26475/

В файле Bootstrap.php создаем функцию _initSession() http://codepaste.ru/3334/

Зеркало:http://www.copypastecode.com/26479/

App_SessionService - это файл SessionService.php в папке App (папка для собственных классов), который наследует класс Zend_Session_SaveHandler_DbTable

Копируем и переписываем функции __construct и write и добавляем определение переменной поля user_id и функцию, которая берет из Zend_Auth необходимые данные.

Вот его листинг: http://codepaste.ru/3335/

Зеркало: http://www.copypastecode.com/26483/

Вообще, можно собирать любую информацию о пользователе (IP, браузер и т.д.). Для этого достаточно добавить соответствующие поля в таблицу и изменить код, подобно добавлению 'user_id'.

Как-то так. Вопросы, замечания и более крутой код как всегда в комменты. :)

14 апреля 2010, 20:53
1444

Loading...

Комментарии

Bimmer
0
0
На районе я чувствую себя академиком, а рядом с вами - первоклашкой прогульщиком)
xlbo
0
0
Не скромничайте! :)
А на самом деле, в этом посте просто слова страшные, а так ничего сложного. :)
Linara
0
0
странно, вроде не сложно и не страшно )), но все равно этого пока нет, видимо, есть другая причина...
Загадочная Линара.
)) напомнило "Поющие в терновнике"
База данных не будет в шоке от такого хранения?
xlbo
0
0
Подскажите лучший способ хранения.
В памяти. Мемкеш или редис, например. Для редиса даже хендлер есть, в редиске.
Спасибо за редис.
Только как вытащить оттуда активных юзеров? :)
Тут всё зависит от фантазии. Можно, например, вот так (надеюсь не смутит пример на руби :).
APC
eAccelerator
File
Memcache
DB(Sqlite)
Xcache
иностранцы епта) что не слово то загадка)
xlbo
0
0
Если прочитать вслух исходный код, то можно вызывать дух Гуанокода.
ruz
0
0
в этом можно работать?
xlbo
0
0
В чём, в этом? Извини, не понял.
А у тебя какие-то сложности с работой в ZF?
нет, я в нем не работаю. просто не понимаю, как может быть комфортной работа с классами, которые именуются подобно тому, что описан в посте.
В отсутствие неймспейсов это был выход, по моему довольно удачный. Например "Zend_Session_SaveHandler_DbTable" это класс "DbTable" из пространства имён "Zend/Session/SaveHandler". В версии 2.0 вроде начнут использовать пхпешные неймспейсы, так что имена классов сильно укоротятся.
А как ты разруливал конфликт имён при большом количестве классов?
И ты не можешь работать с ZF только из-за имён классов? А с чем можешь работать?
я с зф вообще не работал, равно, как и с прочими пхп-фремворками.

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

а если я не могу облегчить себе жизнь сам, прибегая к тому, что мне тупо лень сделать, то какой тогда из меня программист? тем более, я сомневаюсь, что большинство людей, использующих популярные фремворки используют хотя бы половину их возможностей. однако развитие идет, энтропия увеличивается, скачивать приходится все больше и больше. а меня это не устраивает.

хотя это, конечно же, целиком и полностью мои половые трудности.
а вот эти мои подъебки в сторону того, что мне в том или ином фремворке не нравится -- это не более, чем очередное самовнушение того, что я на верном пути.
Ааа, понятно. Больше вопросов нет.
судя по написанному, ты создал свой собственный (конечно же уникальный) фреймворк, тем самым еще больше увеличив энтропию хД
ruz
0
0
а про баркемп хорошо сказал
xlbo
0
0
Ну давай за Баркемп! Не чокаясь! :)
понятия не имею о чем ты, бразэ, но наверняка это что-то мегакрутое)))
xapon
0
0
аааа браза! респект!
фича интересная, но, как уже сказали выше, кажется что слишком тяжко будет базе (:
но у меня вопрос, как очищать базу-то? юзер ушел, а как мы об этом узнаем?
п.с. про баркемп хорошо сказал
xlbo
0
0
Зенд_Сэшн сам очищает. Там задается параметр lifetime, по истечению которого записи удаляются.
yozheg
0
0
Отлично, но не про баркемп.
Samson
0
0
в новом редакторе есть вставка кода. Ожидайте на следующей неделе.
agz
0
0
Видали функцию 'check_online' в xbtit?
Это тихий ужас! На Казторке оно отключено, ибо завешивает сервак моментально и намертво!
http://codepaste.ru/3341/

Оставьте свой комментарий

Спасибо за открытие блога в Yvision.kz! Чтобы убедиться в отсутствии спама, все комментарии новых пользователей проходят премодерацию. Соблюдение правил нашей блог-платформы ускорит ваш переход в категорию надежных пользователей, не нуждающихся в премодерации. Обязательно прочтите наши правила по указанной ссылке: Правила

Также можно нажать Ctrl+Enter

Популярные посты

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Исламская ипотека в Казахстане: в этом году выйдет на розничный рынок

Многие клиенты, вздыхая о харамном ссудном проценте местных банков, сокрушались по поводу отсутствия у нас халяльного кредитования. Поддержка исламского банкинга на уровне МФЦА есть...
DanaJarlygapova
24 марта 2017 / 18:28
  • 21916
  • 64
Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Рианна за $2 млн. Очередные понты от «ЭКСПО-2017»

Концерт Рианны всё-таки состоится летом в рамках культурно-зрелищных и спортивных мероприятий ЭКСПО-2017. Рианна крута, с этим никто не спорит. Но соберёт ли «Астана Арена» 30 тысяч зрителей при...
openqazaqstan
29 марта 2017 / 14:29
  • 18790
  • 15
КТЖ подарило iPhone мошеннику за краденную фотографию

КТЖ подарило iPhone мошеннику за краденную фотографию

Украл в супермаркете — отправился в полицию. Украл фотографию — выиграл новенький iPhone 7 от КТЖ. Вот такая нехитрая получается история. Огромное спасибо Тамерлану Жумабекову, который обратил моё...
andche
вчера / 0:06
  • 12225
  • 22
Компания LG Electronics открыла предзаказ на новый флагман LG G6

Компания LG Electronics открыла предзаказ на новый флагман LG G6

LG Electronics объявляет о начале предварительного заказа онлайн на новый смартфон LG G6. Оформить предзаказ можно на сайтах магазинов электроники до 16 апреля 2017 года.
LG Electronics
24 марта 2017 / 14:20
  • 5265
  • 0
Страну, где так строят дороги, победить невозможно!

Страну, где так строят дороги, победить невозможно!

Шестиминутный ролик про строительство автомобильной дороги в США - это как острый нож в пузо нашим чиновникам. Они же подавятся бешбармаком, увидев его! Похлеще любого пропагандистского фильма...
Timur_Tregulov
24 марта 2017 / 11:26
  • 5136
  • 41
Димаш, Головкин, Есентаева... О героях нашего времени – истинных и «картонных»

Димаш, Головкин, Есентаева... О героях нашего времени – истинных и «картонных»

В прессе, в соцсетях, на ТВ, во всём информационном пространстве Казахстана –заразная эпидемия. Что сказал Головкин, что съела Есентаева, что китайцы подарили Димашу...
openqazaqstan
вчера / 15:54
  • 4041
  • 21
Почему наши парни выглядят как агашки? Хочется им сообщить, что мода на пафос прошла

Почему наши парни выглядят как агашки? Хочется им сообщить, что мода на пафос прошла

Когда уже люди смогут самоутверждаться за счет своего интеллекта, энергии, познаний и настоящей красоты, а не за счет авторитетного вида и не менее авторитетного дяди?
Bookenova_smartass
28 марта 2017 / 18:28
  • 4277
  • 91
Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Это вам не Дисней. Реальный прототип «Красавицы и Чудовища»

Многие уверенны на 100%, что сказка «Красавица и Чудовище» - это интересная выдумка ее создателей. Однако, действия, происходящие в мультфильме и фильме, имели место в истории, и у главных героев...
Naomi_K
24 марта 2017 / 18:42
  • 5094
  • 36
Семь причин почему вам надо перестать откладывать переезд за границу

Семь причин почему вам надо перестать откладывать переезд за границу

Вы думаете о переезде за границу, но постоянно откладываете дату, потому что вас беспокоит тысяча мелочей, которые могут пойти не так? У меня есть семь причин, почему пора перестать мотать нервы...
Lesch
24 марта 2017 / 17:50
  • 4067
  • 15