пример ооп на php



Автор 1_and_0 задал вопрос в разделе Другие языки и технологии

Использование ООП в php и получил лучший ответ

Ответ от Lexx918[гуру]
Пример ты запросто можешь придумать себе сам.
Возьми свою разработку или любой портал и попробуй выделить на нём характерные сущности, узлы, объекты внимания и интерактива.
Не будем ходить далеко и посмотрим на этот сайт - Ответы. майл. ру
Меню с левой стороны сайта - объект "Каталог". У него можно завести пару методов типа "Развернуть подраздел" или "Создать новый раздел".
А у разделов можно завести свойства типа: "Название для посетителя", "Название для адресной строки", "Порядковый номер в списке" и очень полезное свойство-флаг "выбранный пункт" для выделения болдом.
Каждый вопрос - объект "Вопрос". У него есть свойства типа: дата создания, автор, заголовок, текст. Есть методы типа: создать, удалить, закрыть, выставить на голосование.
Свойство "автор" может тоже быть объектом. Точнее экземпляром объекта "Пользователь" и делегировать ему некоторые задачи. Например, если у Вопроса надо вывести заголовок и фотку автора, то класс Вопроса будет сам выводить своё свойство заголовка, за аватаром обратиться к Пользователю внутри себя.
и т. д.
Lexx918
Мыслитель
(5041)
Сохранять в БД, ровно как и извлекать, очень просто!
Рассуждай абстракциями, а не конструкциями языка. Начни с верхнего уровня и проводи декомпозицию, спускаясь вниз на уровень кода и запросов. Сначала напиши псевдокод, затем преврати его в комментарий и рядом с ним напиши тело программы.
Пример.
Тебе из формы приходят данные, ты из них формируешь объект, а потом его сохраняешь. Так и пишешь:
// инициализация данных из формы
// если данные есть, создаём новый объект
// описываем объект
// если данные валидные, сохраняем объект
а теперь под каждым камментов описываешь более детально каждое действие.
допустим (твой пример про книги) тебе для создания книги хватает только названия:
// инициализация
$title = isset($_REQUEST['title']) ? trim($_REQUEST['title']) : null;
// данные есть - новый объект
if ($title) {
$book = new book();
.. тут будут остальные строки
}
// описываем книгу
$book->setTitle($title);
// сохраняем книгу
$book->save();
место кончилось!

Ответ от Sui Caedere[гуру]
Ну к примеру класс БазаДанных для доступа к базе данных, а дочерние классы - классы для доступа к различным СУБД...

Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Использование ООП в php

Магические методы PHP
Это называется инкапсуляция: методы __get и __set инкапсулируют данные, хранимые в переменной.
подробнее...
спросили в Самоучки
Реально ли стать программистом самоучкой?
Реально ...хотя чу тут реально ...все практически так и начинают главное определиться для чего вам
подробнее...

PHP плюсы и минусы
А что тебе нужно для начала? !
Минусы, как и плюсы можно найти в чем угодно.
К примеру
подробнее...
спросили в Парсы
PHP, method_exists (ООП)
"eval is evil"(c)
Не используйте eval, есть не мало способов подгрузить класс динамически.подробнее...

Основные принципы ООП: инкапсуляция, полиморфизм, наследование Объясните пожалуйста простыми словами?
Инкапсуляция - это механизм, который объединяет данные и методы, манипулирующие этими данными, и
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
спросили в Наивность
Объектно ориентированное программирование. (ООП)
Так никто нормально и не ответил!
Три признака ООП: инкапсуляция, наследование и полиморфизм.
подробнее...

геттер и сеттер, объясните на пальцах
Это методы (функции) в объектно-ориентированном программировании. В ООП считается "дурным тоном"
подробнее...
спросили в Декоратор
Вопрос по паттерну "Декоратор" в Java
Да, думаю, именно так (хотя жабой после института не занимался, вроде с ООП все тут в порядке) .подробнее...

Какой язык программирования лучше?
Сейчас больше количество прикладных программ работают в связке с вэбом. Для новичка я бы не
подробнее...
спросили в Free Pascal User br
Хочу научиться программировать. Подскажите, с чего начать???
В настоящее время в мире создано 8512 компьютерных языков разного уровня и направления.
На
подробнее...
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*