![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
Наконец-то свершилось! Я доделал свой модуль управления сессиями.
Реализовал работу через kookies и без них (sid передается через параметры). Имеется возможность подключать систему к ЛЮБЫМ хранилищам информации, но пока есть интерфейс только для MySQL. Скоро напишу и для DBM. Вот ссылка: http://vaneska.shatt.ru/download/visession.zip Кто не поленится разобраться в моем коде, тестируйте. Все найденные глюки, ошибки, корявости синтаксиса и т.д. и т.п. пишите сюда. Буду очень благодарен. В архиве есть 2 папки visession - тестовые программки, lib - сами модули. Модуль ViSession.pm - движок системы. Модуль ViMySQL.pm - интерфейс доступа к бызе MySQL. файл db.sql содержит sql-скрипт используемых таблиц. файл test_visession.cgi тестирует систему ( тестирует только режим с kookies) файл test_vimysql.cgi тестирует модуль ViMySQL.pm ( на корявость тестировочных программ не обращайте особого внимания) хелпа пока нет, но по тестировочным программам в принципе ясно как работает система. --------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Vaneska - отлично.
Оптимизировать будем??? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Vaneska |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
Будем.
Вопрос 1. Вот конструкнор:
хорошо ли так
заполнять параметры? Вопрос 2. Приемлема ли такая работа с кукисами?
Или лучше написать свою функцию, специально оптимизированную для этого модуля? --------------------
http://isokolov.blogspot.com/ |
||||||
|
|||||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Давай сначала и по порядку. Сначала разберёмся с конструктором:
Тебя интересует именно, определён ли параметр или же тебя интересует его истеннось? Другими словами если будет передана пустая строка вот этому параметру: db_host, тебя это устроит или нет??? -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
скорее всего интересует, определен ли пораметр или нет. Если пользователю надо параметр изменить, он явно не будет вписывать пустой параметр. А если всетаки будет пустой, ошибка всплывет при подключении к базе.
Задача здесь стоит в установке значения по умолчанию. Если пользователя это значение устраивает (db_host, db_port), он просто не пишет параметр, когда создает обьект. --------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Вобщем ладно, попробуй заюзать такой конструктор, вместо того, который мы начали разбирать выше.
Если что-то будет не понятно, пиши. Удачи. Это сообщение отредактировал(а) korob2001 - 17.6.2005, 20:40 -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
Великий и могучий Перл!!
получилось все гораздо компактней! спасибо. А теперь с вопросом №2. Я думаю сделать так: написать свою специализированную функцию для обработки cookies, но стоит и это делать? Есть еще модуль CGI::Simple::Cookie. Может лучше его использовать. Он вроде покомпактней и по оптимизированней? --------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
А почему не CGI???
-------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Vaneska |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
Задача стоит сделать все помаксимуму компактно, удобно, чтобы быстро работало.
Зачем подключать целиком CGI, когда можно обойтись тем же CGI::Cookie? З.Ы. в кукисах, в параметре expires надо в дате часовой пояс менять ( +4 GMT ) или браузер сам разберется в каком часовом поясе ему дату получать? Это сообщение отредактировал(а) Vaneska - 18.6.2005, 09:43 --------------------
http://isokolov.blogspot.com/ |
|||
|
||||
| korob2001 |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 2871 Регистрация: 29.12.2002 Репутация: 13 Всего: 61 |
Vaneska - а зачем же весь модуль подключать? Подключи только то, что тебе нужно.
Подключишь только функцию cookie. Удачи. -------------------- "Время проходит", - привыкли говорить вы по неверному пониманию. "Время стоит - проходите вы". |
|||
|
||||
| Vaneska |
|
||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 141 Регистрация: 15.3.2005 Где: Москва Репутация: 1 Всего: 4 |
Тоже вариант, попробую.
Далее: у меня в классе ViMySQL есть параметр tbl_users, а в классе ViSession есть параметр funcs, сожержащий обьект класса ViMySQL
Следуя правилам ООП, доступ например к параметру uid из программы должен выглядеть так:
Я добился, что бы работала такая конструкция
но надо, чтобы было так: $ses->funcs->tbl_users->uid По идее надо создавать класс tbl_users c соответствующими методами, но это ПЛОХО, а как подругому не знаю --------------------
http://isokolov.blogspot.com/ |
||||||
|
|||||||
![]()
|
| Правила форума "Perl: CGI программирование" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: разработка для Web | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |