Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Projekt systemu blogowego
Forum PHP.pl > Forum > PHP > Object-oriented programming
adolf1945
Witam, chce napisac sobie system blogowy (dodawanie, usuwanie, edycja posta / komentarze / rejestracja, logowanie)
Jak to zaprojektowac? Jakie klasy utworzyc i jakie metody? (OOP)
kokers
PHP i MySQL - Tworzenie aplikacji www - > autor Marc Wandschneider. Jak przerobisz, to na końcu jest przykładowy skrypt do bloga. A przynajmniej da ci jakieś pojęcie na ten temat.
LSM
Zacznij pisać w najprostszy sposób używając jednego kontrolera. Kiedy uzbiera Ci się trochę metod będziesz mieć łatwiejszą drogę do pogrupowania ich i wyselekcjonowania konkretnych klas. Na początku może być Ci trudno tworzyć klasy i opracowywać projekt. Wiele rzeczy wyjdzie w trakcie pisania kodu, moja rada to pisanie metod w kontrolerze a potem na drodze refaktoryzacji grupowanie ich i wyciąganie do klas.
Przykładowy początkowy kontroler mógłby wyglądać tak:

  1. class IndexController
  2. {
  3. public function userSetComment() {}
  4. public function userSetReplyCommentToConcreteUser {}
  5. public function getNewArticle {}
  6. public function setNewArticle {}
  7. public function addArticlesCategory {}
  8. public function deleteArticlesCategory {}
  9. public function setEmailToNewsletter {}
  10.  
  11. // in your admin panel ...
  12. public function getNewsletterEmails {}
  13. public function getMostPopularArticles {}
  14.  
  15. }


Podstawa to dobrze zaprojektowana baza danych. Rozpisanie metod w taki sposób pozwoli Ci na dopracowanie bazy danych. W następnym drugim kroku możesz wyeksportować na drodze refaktoryzacji metody z tego kontrolera i utworzyć klasy jak np:
  1. class ArticleCategory {}
  2. class Article {}
  3. class ArticleComment {}
  4. class ArticlesCollection {}
  5. class User {}

Każdą z takich klas należy dobrze przemyśleć czy faktycznie powinna istnieć czy nie lepiej np. zrobić pole $comments = array() w klasie Article {} zamiast klasy ArticleComment{} ?
Takich przemyśleń będzie cała masa - wszystko zależy od Twoich ambicji i tego co chcesz dalej zrobić z tym projektem ...
Dalsze porządkowanie to użycie SPL PHP ...itd.
kreciko
Podchodzicie do tego od dupy strony. O projektowaniu macie marne pojęcia, zaczynacie pisać a dopiero później myślicie nad tym. Najpierw trzeba sobie wszystko ładnie rozpisać czego potrzebujesz. Najpierw ogólnie, później szczegółowo. Zamodelować to w jakim uml-u, albo innym bpmn-ie. Pomyśleć później na co to podzielić, żeby nie tylko ładnie wyglądało, ale żeby było bezpieczne, skalowalne, łatwo modyfikowalne. Dopiero później wybrać sobie w czym to pisać. PHP + MYSQL - teraz wszystko tak działa, może by się pokusić o coś innego, żeby nauczyć się czegoś nowego. Może PHP + postgreSQL, a może python+mysql.
LSM
@kreciko takim postem mu w niczym nie pomożesz ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.