|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
24.08.2012, 12:41 | #1 |
Форумчанин
Регистрация: 17.01.2008
Сообщений: 236
|
[PHP] Архтектура взаимодействия с бд классом
Доброго времени суток. Встала дилемма. Пишу систему, в которой краеугольным камнем стоит работа с бд. Дабы не мариновать себе на будущее проблемы, все операции с бд выделил в один класс: MySQL. Стоит отметить, что большинство операций так или иначе взаимодействуют с информацией о пользователе. Все, казалось бы, чудно, однако шишки начинают давать о себе знать, когда, например, нужно проверить валидность авторизованности юзера. Получается что-то вроде того: MySQL::isUserLogged. Классно смотрится, да? :black eye: И причем тут мускул? Конечно, его вклад в реализацию задуманного этим объектом несомненна, однако как-то топорно смотрится мускульный преф при проверке авторизованности юзера, пусть даже и посредством запросов в бд.. В итоге я пришел к выводу, что было бы не плохо выделить "юзерские" функции в отдельный, юзерский класс.
Я вижу два пути: 1) Прокси 2) Потомок По первому. Не радует только то, что придется дублить все входные параметры и название. По второму. Слишком круто наследовать целый класс, учитывая, что в какой-то момент необходимых юзеру объектов в родителе может стать меньшинство, что, как мне кажется, сделает юзер класс просто былокодом. Как посоветуете организовать взаимодействие? Спасибо |
24.08.2012, 13:00 | #2 |
Участник клуба
Регистрация: 08.03.2008
Сообщений: 1,537
|
Хм, MYSQL класс я бы сделал только для операций с БД. Так сказать прослойка между БД и другими классами. У вас сейчас MYSQL класс стремится стать Божественным объектом, что не есть хорошо
Котлеты отдельно, мухи тоже ;-) |
24.08.2012, 13:14 | #3 |
Участник клуба
Регистрация: 06.04.2009
Сообщений: 1,524
|
Логичней, как уже сказали, делать два (и более) отдельных классов.
MYSQL для мускуля USER для ползователя (логин, сессии и т.д.) а в классе USER для проверки авторизации можно сделать запрос в БД для проверки сессий из кук с значением БД. Ну как-то так |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Схема взаимодействия С++ | Денис999 | Помощь студентам | 2 | 04.12.2011 20:07 |
memcached. Вопрос взаимодействия | Виталий Желтяков | PHP | 3 | 13.11.2010 12:49 |
Механизм взаимодействия с базой данных | arhiepiskop | Помощь студентам | 1 | 02.06.2010 18:31 |
Проблема взаимодействия потока с формой | Arkuz | Общие вопросы Delphi | 4 | 26.02.2010 22:35 |
Взаимодействия приложения с Web сервером. | Руслантус | Общие вопросы C/C++ | 0 | 09.08.2009 00:18 |