Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: ООП пытаюсь писать [3]
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
caballero пишет:
Цитата:
Я еще ничего сам не написал. Я пишу первый блог, зачем мне брать готовое. Мне нужно самому что-то делать.
так пишите то что касается вашего функционала. Какое отношение к этому имеет работа с БД?
вы ж не пишете собственные функции PHP вместо готовых.
Ну как же?
Сохранить статью, сохранить комментарий, зарегистрировать пользователя, показать статьи, комментарии, рейтинги.............
У блога ведь есть БД
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
DeepVarvar
Отправлено: 25 Июля, 2013 - 20:18:20
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Hapson пишет:
У блога ведь есть БД
При достаточном уровне абстракции тебя вообще не должно волновать что там, БД или файлы, или еще какое друое хранилище..
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
caballero пишет:
авторазиция обычно делается статическим методом потому как по логике на связана и с каким экмепляром.
для работы с Бд лучше взять готовые решения. PDO например если уж хочется ООП
Я наверное что-то не понимаю. Ну из примеров: кролик - экземпляр класса зверей, кролик живой или дохлый - свойство экземпляра класса зверей, кролик кролик залезает в нору, если вход не привалило булыжником - метод экземпляра.
Юзер - экземпляр класса пользователей. Юзер online или offline - свойство юзера. Юзер входит на сайт, если пустят - метод.
Есть какое-то принципиальное отличие между:
$user = new Users("auth", $data);
$user = Users::authUser($data);
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
Contr
Отправлено: 29 Июля, 2013 - 13:26:49
Частый гость
Покинул форум
Сообщений всего: 202
Дата рег-ции: Окт. 2011 Откуда: с Марса
Помог: 1 раз(а)
Hapson, лови ответ:
http://www[dot]youtube[dot]com/watch?v=Aw28-krO7ZM
Там шесть уроков, я делал так: просмотрел - пауза - повторил, пока не становится понятноОтредактировано администратором: EuGen, 29 Июля, 2013 - 13:28:57
caballero
Отправлено: 29 Июля, 2013 - 14:27:10
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
кролик - экземпляр класса зверей,
кролик - экземпляр класса кролик.
Цитата:
Юзер - экземпляр класса пользователей. Юзер online или offline - свойство юзера. Юзер входит на сайт, если пустят - метод.
мы проверяем юзера на существование такого экземпляра а не проверяем признак (офлайн или нет) конкретного экземпляра
Цитата:
Есть какое-то принципиальное отличие между:
$user = new Users("auth", $data);
$user = Users::authUser($data);
второй метод не может относится ни к какому екземпляру.
Цитата:
Hapson, лови ответ:
это не ответ потомму как мы не обсуждаем MVC. Не говоря о том что это лисное видение конкретного автора, не более того.
----- ПЫХ тут - ходи туда, прежде чем писать сюда (толку больше будет)
caballero
Отправлено: 29 Июля, 2013 - 15:20:44
Активный участник
Покинул форум
Сообщений всего: 5998
Дата рег-ции: Сент. 2011 Откуда: Харьков
Помог: 126 раз(а)
Цитата:
Хорошо, тогда метод обновления/удаления пользователя приватный и не статический?
удаления - тоже статический - екемпляр не может себя удалитть.
нестатические методы - те которые предназначены для работы с атрибутами (полями)екземпляра.
те которые манипулируют екземплярами - должны быть статическими.
Теоретически - статические методы юзера должны относится к какому то классу типа фабрики или менеджера юзеров. но использование статических методов в самом классе упрощает структуру. Кроме того статические методы имеют доступ к приватным полям екземпляра что то же удобно при инициализации например
Цитата:
Тогда и свойство $online не нужно? Метод авторизации просто вернет true или false:
да
или он может вернуть уже готовый екземпляр юзера если удачно или null если не удачно.
Покинул форум
Сообщений всего: 356
Дата рег-ции: Июнь 2013 Откуда: Ставропольский край
Помог: 10 раз(а)
[+]
caballero пишет:
Цитата:
Хорошо, тогда метод обновления/удаления пользователя приватный и не статический?
удаления - тоже статический - екемпляр не может себя удалитть.
нестатические методы - те которые предназначены для работы с атрибутами (полями)екземпляра.
те которые манипулируют екземплярами - должны быть статическими.
Теоретически - статические методы юзера должны относится к какому то классу типа фабрики или менеджера юзеров. но использование статических методов в самом классе упрощает структуру. Кроме того статические методы имеют доступ к приватным полям екземпляра что то же удобно при инициализации например
Цитата:
Тогда и свойство $online не нужно? Метод авторизации просто вернет true или false:
да
или он может вернуть уже готовый екземпляр юзера если удачно или null если не удачно.
Угу, теперь понятно.
Я вот еще что не пойму.
После удачной авторизации пользователя я записываю в $_SESSION почти все свойства пользователя, кроме email и password, чтобы потом не дергать БД. А вот если я в классе сделаю свойства идентичные полям в таблице пользователей и при удачной авторизации буду записывать в эти свойства значения. По окончании кода мне будут доступны эти свойства? Ведь объект уничтожается по окончании кода.
К примеру пользователь авторизовался, я перезапросил страницу, дабы избавиться от $_POST, и хочу вывести приветствие.
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.