[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Движок на ООП
Arcky
Решил переписать движок для своего сайта полностью на ООП.
Сначала обрадовался, вроде намного проще и понятней все стало.

Однако возник вопрос:

1. методы для работы с БД желательно
хранить в отдельном классе для работы с БД, например:

DB::getImageData($id)
DB::getCommentsForImage($id)

2. хранить прямо в классах, непосредственно к которым эти методы
относятся, к примеру:
$image->loadData()
$comment->delete()

3. Как то комбинировать. Но это вряд ли. Хотя, если так, то как? smile.gif
Не соображу, как все это организовать.

Если надо подробнее, могу расписать, как я вижу организацию своей КМС.




Спустя 5 часов, 16 минут, 1 секунда (25.07.2008 - 22:27) PollyMorph написал(а):
Почитай про Zend Framework. Там все это уже давно реализовано

Спустя 9 часов, 14 минут, 29 секунд (26.07.2008 - 07:42) Arcky написал(а):
А это где?
Вообще хотелось бы самому разобраться в этом.
То есть конкретного ответа не дадите?

Спустя 2 часа, 58 минут, 9 секунд (26.07.2008 - 10:40) PollyMorph написал(а):
НУ есть такое понятие в ООП - наследование, я думаю отсюда тебе копать smile.gif

Это когда потомок наследует все свойства и методы предка и добавляет свои smile.gif

Спустя 22 часа, 35 минут, 1 секунда (27.07.2008 - 09:15) Arcky написал(а):
Про наследование вопрос не стоит. Не зная наследования, нечего и
делать в ООП.

Спустя 4 часа, 16 минут, 44 секунды (27.07.2008 - 13:32) Timok написал(а):
Цитата(Arcky)
1. методы для работы с БД желательно
хранить в отдельном классе для работы с БД, например:

т.е. запихнуть всю логику приложения в один класс? Представь себе его размер, если там будут методы для каждой сущности. Да и неправильно это - самому объекту БД должно быть пофигу, какие данные в ней хранятся, т.е. она знает лишь как встаить-удалить-найти данные, но ей совершенно без разницы - картинки ли это, сведения о пользователях или тексты новостей.
Пример библиотеки для БД: goDB

Цитата(Arcky)
2. хранить прямо в классах, непосредственно к которым эти методы
относятся

Методы для работы с БД - в классе БД. Методы для работы с сущностями - в классах сущностей, которые используют те самые методы БД.

Копай в сторону ORM, шаблонов DataMapper, ActiveRecord

Спустя 1 час, 22 минуты, 53 секунды (27.07.2008 - 14:55) Arcky написал(а):
Спасибо! Примерно туда и копаю smile.gif

Спустя 25 дней, 11 часов, 33 минуты, 20 секунд (23.08.2008 - 02:28) Gibbzy написал(а):
в Zend оч красиво инсерт организован мне нравится а вообще

class MyClass extends BD {
$this - > методы BD
}


_____________
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.