Форум программистов, компьютерный форум, киберфорум
PHP: ООП
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.53/15: Рейтинг темы: голосов - 15, средняя оценка - 4.53
9 / 7 / 3
Регистрация: 25.06.2009
Сообщений: 396

ООП для блога

26.07.2011, 20:08. Показов 2951. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет.Написал движок для блога,без использования ООП.Сейчас изучаю ООП и решил переписать всё под него.Так как опыта применения ООП у меня нету,хочу попросить у вас совета.Что должен содержать главный главный класс,какой функционал(для блога),как правильнее организовать это всё?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.07.2011, 20:08
Ответы с готовыми решениями:

ООП для чайников
Посоветуйте пожалуйста литературу для изучения ООП для начинаючих с примерами ?

php и ООП для нубов
Когда выполняю такой код - выдает ошибку: Fatal error: Call to undefined function Test() in /var/www/function.php on line 7 <?php ...

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

1
 Аватар для F(r)an!k
31 / 31 / 4
Регистрация: 12.03.2010
Сообщений: 185
03.08.2011, 12:49
Лучший ответ Сообщение было отмечено Nesh как решение

Решение

"Главный" класс может быть небольшим и абстрактным (т.о. объект (экземпляр) этого класса создавать не нужно).
"Главный" класс может быть родительским, все остальные классы наследуются от него.
В этом случае будет удобно создать публичное свойство для работы с БД (public $db) записав в него объект класса mysqli. Это исключит необходимость заново подключаться к БД в каджом новом классе.
Таким же образом можно решить вопрос с авторизацией, залогинев пользователя в родительском классе и записав его данные в в публичное свойство (public $user). Узнать авторизован ли пользователь в данном случае можно будет простым if($this->user) на уровне любого класса, а выполнить запрос неболее сложным $this->db->query($sql).

P.S. Из личного опыта хочу заметить, что при переводе проекта на ООП модель, повсеместное использование ООП подхода делает код компактнее и удобнее.
Например:
PHP
1
2
3
$p = (object)$_POST;
$_POST['param'] // вместо
$p->param // в два раза меньше символов
PHP
1
2
3
4
5
6
7
8
9
$res = $this->db->query($sql);
$obj = $res->fetch_object();
$obj->name;
 
// вместо 
 
$res = mysql_query($sql);
$arr = mysql_fetch_assoc($res);
$arr['name']
Добавлено через 1 час 23 минуты
"Главный" класс может быть небольшим и абстрактным (т.о. объект (экземпляр) этого класса создавать не нужно).
"Главный" класс может быть родительским, все остальные классы наследуются от него.
В этом случае будет удобно создать публичное свойство для работы с БД (public $db) записав в него объект класса mysqli. Это исключит необходимость заново подключаться к БД в каджом новом классе.
Таким же образом можно решить вопрос с авторизацией, залогинев пользователя в родительском классе и записав его данные в в публичное свойство (public $user). Узнать авторизован ли пользователь в данном случае можно будет простым if($this->user) на уровне любого класса, а выполнить запрос неболее сложным $this->db->query($sql).

P.S. Из личного опыта хочу заметить, что при переводе проекта на ООП модель, повсеместное использование ООП подхода делает код компактнее и удобнее.
Например:
PHP
1
2
3
$p = (object)$_POST;
$_POST['param'] // вместо
$p->param // в два раза меньше символов
PHP
1
2
3
4
5
6
7
8
9
$res = $this->db->query($sql);
$obj = $res->fetch_object();
$obj->name;
 
// вместо 
 
$res = mysql_query($sql);
$arr = mysql_fetch_assoc($res);
$arr['name']
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
03.08.2011, 12:49
Помогаю со студенческими работами здесь

Изучение ООП, подскажите практическую задачу для тренировки
Добрый вечер. Возникла такая проблема. Потихоньку изучаю ООП. С теоретической точки зрения вроде всё ясно, но из-за отсутствия практики, я...

Метод для получения записей пользователя - соблюдены ли принципы ООП
Здравствуйте, написал метод для получения записей пользователя. Не будет ли нарушением правил ООП и MVC, то что в цикле по-странному...

Выбор версии php для максимальной скорости без использования ООП
Я всегда думал, что php 5.2 работает быстрее, чем более старые версии при использовании только функционального программирования. Будут ли...

Создание блога
решил сделать некий блог, и есть несколько вопросов 1 как осуществляется сыллка "читать далее" 2 как сделать, что бы...

Создание блога
Помогите примером. Есть статья https://habr.com/ru/sandbox/35748/ в которой создается главная страница с отображение всех статей. Как...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru