Форум → Программирование → PHP для идиотов → PHP и ООП → непонятки с ООП
непонятки с ООП
Страницы: ← Предыдущая страница • Следующая страница →
-
6 февраля 2010 г. 1:33, спустя 11 минут 7 секунд
kamachi, я это представляю примеро так (но уровень у меня такой же как у тебя в ооп)
Ты обращаешься к объекту авторизация класса юзер.
Тот в свою очередь должен проверить есть ли такой пользователь в базе, потом такой ли у него пароль, потому если все верно, записать паблик (?) массив, записать данные в сессию и куки.
Для этого еще создаешь еще несколько объектов.
1) Проверка логина.
2) Проверка пароля.
3) Запись массива
4) Запись сессии
5) Запись куки.
Теперь что делают они:
1) Обращается к классу базы данных с просьбой узнать есть ли такой юзер. Если есть то забираем его логин и пароль. При чем пароль записываем в приват (?) функцию.
2) Сравниваем хеш пришедшего пароля и тот что в базе. Для этого обратимся к еще одному объекту класса юзер. Он шифрует нам пароль.
3) Получаем данные пользователя. Для этого обращаемся к классу базы. И забираем данные.
4) Записываем в массив.
5) В сессию
6) В куки
Наш класс авторизация будет работать примерно так.
Получаем переменные с логином и паролем.
Обращаемся к объекту один.
Если объект 1 не вернл фальш, то обращаемся к объекту 2.
Если и тот не вернул фальш. То обращаемся к объекту 3. Потом обращаемся к 4,5 и 6.
Вот как то так, как мне кажется. -
6 февраля 2010 г. 11:15, спустя 9 часов 41 минуту 55 секунд
я вот тут пытаюсь до сих пор догнать ооп
мне сложно эти веши понять, я еще начинаюший.
ну ты пробуй потихоньку, тебя никто не гонит…
и повторю, изучать синтаксис ООП это не значит изучать ООП.
ты пока не поймешь в чем кагбэ вся соль, то ничего толкового не выйдет…
попробуй просто помыслить обьектным подходом..
к примеру:
пришел ты покупать в магазин хлеб, ты - обьект человек, подходишь к продавцу который тоже является обьектом и говоришь ему: "дай мне блять хлеба".
и вот тут вся соль, тебя как покупателя не должно ебать как этот хлеб производится, как и когда доставляется….
от обьекта "продавец" ты должен получить только хлеб и все.Спустя 47 сек.подобные примеры окружают нас каждый день, они всегда вокруг нас, просто попытайся увидеть все это в таком свете.
krasun, ложки не существует, вспомнилось блин. (я про http://pyha.ru/forum/topic/3911.msg81251#msg81251 и http://pyha.ru/forum/topic/3911.msg81258#msg81258, но это не важно
Вот меня одно заинтересовало, у меня за аутентификацию пользователя отвечает Zend_Auth, это же сторонний объект получается, который ничего не знает не о пользователе, не о БД(грубо говоря, он все равно общается через адаптер).
Не могу увидеть, как человек или пользователь вызывает метод аутентификации сам у себя, в более не менее объектной системе.
Хотя да, наверное, иногда отдельный объект отвечающий за аутентификацию будет излишен, если хочется системе не усложнять.Спустя 93 сек.*систему не усложнять -
6 февраля 2010 г. 11:20, спустя 5 минут 11 секунд
блин, вопроса, так и не задал, восстановите удаление сообщений, а то случайно отправляю, а потом перечитываю и все. А хотя ладно не надо, перед отправкой буду перечитывать )) -
6 февраля 2010 г. 11:22, спустя 1 минуту 35 секунд
слово не воробей, вылетит - не поймаешь.
блин, вопроса, так и не задал, восстановите удаление сообщений, а то случайно отправляю, а потом перечитываю и все. А хотя ладно не надо, перед отправкой буду перечитывать ))
а также
получил хуй в лицо - не уворачивайсяСапожник без сапог -
6 февраля 2010 г. 11:35, спустя 13 минут 21 секунду
та я последнее время в философия окунулся и меня сейчас в башке, вообще пиздец))
Вот к примеру, если понять теорию Форм Платона, то можно хоть не много научиться отделять объекты в ООП друг от друга. У нас получаются сложные взаимосвязи между классами, не потому, что мы ООП не понимаем, а потому, что мы и в реальном мире отделить не можем два объекта и увидеть их сущность. ООП, оно же интуитивно. Достаточно, только человеку развивать свое абстрактное мышление и все само собой станет ясно.
Короче пиздец, не что не есть истина. Вот он возраст сказывается, 18 лет. -
6 февраля 2010 г. 11:43, спустя 7 минут 57 секунд
Вопрос к тем кто шарит. В своем предыдущем сообщении (которое идет первым на этой странице) я хуйню написал? -
6 февраля 2010 г. 12:41, спустя 58 минут 25 секунд
kamachi, я это представляю примеро так (но уровень у меня такой же как у тебя в ооп)
Ты обращаешься к объекту авторизация класса юзер.
Тот в свою очередь должен проверить есть ли такой пользователь в базе, потом такой ли у него пароль, потому если все верно, записать паблик (?) массив, записать данные в сессию и куки.
я бы сказал что это верно и верно как у зенда. ты говоришь о "простой схеме", а зенд явно используют "списки доступа" (acl), тогда я бы использовал и правда "двери" (Zend_Auth), которая пользователя "пускает" в защищенную область и "вешает на него погоны", которые позволяют ему что-либо делать
такая схема хороша для больших систем, твоя для простых где есть ТОЛЬКО АДМИНИСТРАТОР, нет всяких модераторов, редакторов и прочей хуйни. ну и когда доступ к модулям разграничивается как раз на уровне acl, а не на уровне ифов :DСапожник без сапог -
6 февраля 2010 г. 12:46, спустя 4 минуты 40 секунд
phpdude,
такая схема хороша для больших систем, твоя для простых где есть ТОЛЬКО АДМИНИСТРАТОР, нет всяких модераторов, редакторов и прочей хуйни. ну и когда доступ к модулям разграничивается как раз на уровне acl, а не на уровне ифов :D
Я не знал, но теперь знаю. Когда буду ооп учить про acl почитаю.
я бы сказал что это верно и верно как у зенда. ты говоришь о "простой схеме", а зенд явно используют "списки доступа" (acl), тогда я бы использовал и правда "двери" (Zend_Auth), которая пользователя "пускает" в защищенную область и "вешает на него погоны", которые позволяют ему что-либо делать
Я обычно права в сессию отправляю :D -
6 февраля 2010 г. 13:02, спустя 16 минут 1 секунду
Я обычно права в сессию отправляю :D
хоть на луну, по-хорошему тебе модуль должень говорить типа
if(!Acl::CanIDoIt())
Acl::PrintIAmLooser();Сапожник без сапог -
6 февраля 2010 г. 13:33, спустя 30 минут 46 секунд
я бы сказал что это верно и верно как у зенда. ты говоришь о "простой схеме", а зенд явно используют "списки доступа" (acl), тогда я бы использовал и правда "двери" (Zend_Auth), которая пользователя "пускает" в защищенную область и "вешает на него погоны", которые позволяют ему что-либо делать
такая схема хороша для больших систем, твоя для простых где есть ТОЛЬКО АДМИНИСТРАТОР, нет всяких модераторов, редакторов и прочей хуйни. ну и когда доступ к модулям разграничивается как раз на уровне acl, а не на уровне ифов :D
О вот, что такое я и хотел сказать там где-то наверху, что для простых систем, даже не обязательно четкое разграничение обязанностей между объектами. Но когда пишешь большую систему, то понимаешь, что в ней каждый объект что-то выполняет и выполняет это лучше всех. В общем ты прав -
6 февраля 2010 г. 13:37, спустя 4 минуты 23 секунды
В общем ты прав
это я и сам знаю, иначе бы не писал тот пост :)Сапожник без сапог -
6 февраля 2010 г. 13:42, спустя 4 минуты 27 секунд
Я это вижу на примере, государств. Более простые африканские государства, там много чего смешано и напутано, но они как-то живут и какие-то свои функции выполняют. Есть средние государства, мне кажутся такими странами Россия, Китай и так далее те у кого переходной этап, они пытаются как-то разграничивать права и обязанности, да много проблем, но они это пытаются решить, проблемы, так как очень много объектов в стране, не выполняют свои обязанности.
И например, экономически развитые государства США, Япония, ЕС, к примеру, да у них не все сладко, но тем не менее - это highload системы ))Спустя 57 сек.В общем ты прав
это я и сам знаю, иначе бы не писал тот пост :)
Ну кто как)) Я не считаю себя правым, я как раз пишу, что разобраться, что бы меня переубедили или наоборот усилили в моем мнении ))Спустя 83 сек.*это highload системы, которые отвечают запросам пользователей(читать граждан) -
10 февраля 2010 г. 13:06, спустя 3 дня 23 часа 24 минуты
1)У метода __construct нужно объявлять область видимости (private, public, protected)?
2)Если создать класс работ с бд и на его основе создавать два объекта. То в методе выполнения запросов нужно в mysql_query указывать идентификатор соединения? -
10 февраля 2010 г. 13:14, спустя 7 минут 29 секунд
1. по-желанию, но лучше да
2. ебанутся, нахуй два объекта?Сапожник без сапог -
10 февраля 2010 г. 13:18, спустя 4 минуты 26 секунд
phpdude,
1) Сеньк
2) Интеграцию двух cms пишу. Один объект - работа с одной базой, другой - с другой.
Страницы: ← Предыдущая страница • Следующая страница →
Пожалуйста, авторизуйтесь, чтобы написать комментарий!