2010-11-11 2 views
0

Я изучил основы ООП, и хотя я должен попытаться сделать что-то простое (просто узнать и потому, что мне скучно). Проблема в том, что мне трудно решить, какие классы мне понадобятся. Базовая абстракция и (пользовательский ввод) валидация в значительной степени сортируются. Это будет в PHP, но я думаю, что все форумы, разработанные в ООП, имеют общий набор классов.Создание форума ООП

Форум будет очень прост, зарегистрируйтесь, войдите, просмотрите, опубликуйте и ответьте. я думал что-то вдоль линий списка ниже:

  • класса Регистрации
  • класса User: класс для управления пользователями
  • User_Post класса: сообщений управления: класс управления сообщением пользователя
  • сообщений класса
  • Validation класса (PHP фильтры?)

мне Иерархическая потоковая кажется невероятно сложным для программа для нуба, подобного мне. Очень простой форум, который мне нравится, это форум BBCs 606.

Возможно, openID для проверки?

Это все, что я получил до сих пор.

+2

У меня есть вопросы? – tplaner

+0

Он хочет знать, какие классы ему нужно для создания простого форума, и если он должен использовать openID. Немного широк, но это его вопросы. – webbiedave

+1

@webbie: A * bit * wide? Он хочет, чтобы кто-то проектировал и специфицировал свой проект для него ... – dmckee

ответ

0

Если вы считаете, что все форумы, разработанные в ООП, имеют общий набор классов, почему бы не сделать некоторые операции с существующим программным обеспечением? (Здесь есть загрузочная программа с открытым исходным кодом.)
Таким образом вы узнаете об общем наборе классов, о том, как они работают, взаимодействуют и об общем процессе создания более крупного программного обеспечения.

Я полагаю, что с этими знаниями вы будете намного лучше строить свой форум, чем с любым ответом (или скорее: мнением) о том, какие классы вам должны использовать.

+0

+1 Хороший вопрос .. некоторые из этих форумов настолько раздуты, хотя я не знаю с чего начать. – jonnnnnnnnnie

+0

Даже раздутое программное обеспечение имеет небольшие гранулярные классы и методы. Или: Проделайте свой путь :) ... начните с чего-то меньшего. Сначала попробуйте гостевую книгу, затем сделайте блог, затем зайдите на форум. После этого цель выше: портал, сообщество ... предел неба :) – Select0r

+0

Lol, я только что понял, что не могу проголосовать – jonnnnnnnnnie

0

Для входа я бы не рекомендовал openID I thik, что вы были бы более «частью процесса», если вы с чем-то вроде this.

Это, по моему мнению, достаточно просто и будет в соответствии с PHP.

Я также хотел бы взглянуть некоторые ссылки есть некоторые хорошие «простые» PHP форумов там, как PunBB

Удачи!

+0

Спасибо! punbb отлично – jonnnnnnnnnie

0

Если вы правильно отрисуете, вы поймете преимущества OO и Active Record. Тогда вы сможете ходить по рисовой бумаге, не издавая звука.

Дизайн таблиц, затем постройте один класс за стол. Будьте строгими с существительными (именами) и глаголами (-ами).

например:

users 
    id 
    username 
    password 

    forums 
    id 
    name 

    posts 
     id 
     user_id 
     body 

    forum_posts 
     id 
     forum_id 
     post_id 

Есть 3 класса здесь:

  • пользователя
  • сообщение
  • Форум

Используя статические методы в соответствующем классе, вы может построить это разумно:

$user->forum_posts('id DESC'); 
# function forum_posts($order_by) { return Forum::get_for_user($this->id, $order_by); } 

    $user->forum_post($forum_id, array('body' => 'Foo')); 
# function forum_post($forum_id, $array) { return Forum::post_to($forum_id, $this->id, $array); } 

Продолжайте так. подумайте о очень маленьких кусках, и каждая вещь соберется вместе. Дайте каждому классу список полей, __call, get(), set() и заводские методы для получения связанных классов.

tl; dr абстрактные и дизайнерские таблицы, писать перегруженные классы с короткими заводскими методами для выбора и вставки.

Смежные вопросы