Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Projekt systemu blogowego
adolf1945
post
Post #1





Grupa: Zarejestrowani
Postów: 29
Pomógł: 0
Dołączył: 7.05.2010

Ostrzeżenie: (0%)
-----


Witam, chce napisac sobie system blogowy (dodawanie, usuwanie, edycja posta / komentarze / rejestracja, logowanie)
Jak to zaprojektowac? Jakie klasy utworzyc i jakie metody? (OOP)

Ten post edytował adolf1945 1.03.2011, 11:47:26
Go to the top of the page
+Quote Post
kokers
post
Post #2





Grupa: Zarejestrowani
Postów: 154
Pomógł: 33
Dołączył: 18.10.2010
Skąd: Katowice

Ostrzeżenie: (0%)
-----


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.


--------------------
‎"Sometimes you're gonna get odd error syntax, unexpected T_PAAMAYIM_NEKUDOTAYIM and you're like, what in the world is that thing i have no idea what went wrong in my code. In english that error means you screwed up the references to an object" Kevin Skoglund
Drobna prywata: Ależ nie nie, nie zamierzam zmieniać płci w najbliższym czasie, więc zwracanie się do mnie per Pan jest odrobinkę nietrafione.
Go to the top of the page
+Quote Post
LSM
post
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 6
Dołączył: 20.03.2011
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


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.

Ten post edytował LSM 20.03.2011, 18:17:45


--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post
kreciko
post
Post #4





Grupa: Zarejestrowani
Postów: 99
Pomógł: 7
Dołączył: 17.02.2010

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
LSM
post
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 6
Dołączył: 20.03.2011
Skąd: Świdnica

Ostrzeżenie: (0%)
-----


@kreciko takim postem mu w niczym nie pomożesz ...


--------------------
"I see" - said the blind man.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.08.2025 - 13:51