Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]System blogowy - projektowanie oop
adolf1945
post
Post #1





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

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


Witam. Chciałbym napisać system blogowy w PHP oop.
Napisał bym takie klasy:
- class Register
- class Login
- class Post
-addPost
-editPost
-deletePost

- class Comments
- addComent
- deleteComment


Czy takie podejście jest prawidłowe? (pogrubione to metody)

Ten post edytował adolf1945 10.08.2011, 12:33:04
Go to the top of the page
+Quote Post
kamillo121
post
Post #2





Grupa: Zarejestrowani
Postów: 127
Pomógł: 6
Dołączył: 26.07.2009

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


Witaj, podejście jest raczej prawidłowe o ile odpowiada to twoim potrzebą(chociaż nigdy nie byłem zwolennikiem takiego podejścia (IMG:style_emoticons/default/smile.gif) )
Klasy Register i Login mogłyby być powiązane z jedną klasą user co potem ułatwiłoby sprawę(user może się zarówno rejestrować jak i logować).
Następnie klasy takie jak Post czy Comments tez mogłyby być dzieckiem ogólnej klasy np userText bo przecież mają wspólne metody add, delete, edit.

Ten post edytował kamillo121 10.08.2011, 13:23:26
Go to the top of the page
+Quote Post
bastard13
post
Post #3





Grupa: Zarejestrowani
Postów: 664
Pomógł: 169
Dołączył: 8.01.2010
Skąd: Kraków

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


Ciężko ocenić cokolwiek po tym, co napisałeś. Masz kilka nazw klas i parę metod do niektórych.
Ogólnie wydaje mi się że powinno to wyglądać trochę inaczej (wraz z klasą User, o której napisał ci kamillo121):
Masz modele danych:
User, Post, Comment, które powinny zawierać informacje nt danych tzn.
User:
atrybuty: login, email etc.
metody: isLogIn()

Post i Comment:
atrybuty: text, addDate, editDate
metody: edit(), delete() //bez add(), ponieważ dodawanie nie dotyczy istniejącej instancji obiektu Post

Od razu widać, że Post i Comment faktycznie mogłyby dziedziczyć po jednej klasie bazowej.
Oprócz tego potrzebujesz obiektów kontrolujących:
User_Controller:
korzysta z: Authorization (metody: login(), logout(), więc nie potrzeba osobnej klasy Login)
- określa czy użytkownik jest zalogowany czy nie:

Post_Controller i Comment_Controller:
- tworzenie nowego posta
- edytowanie istniejącego
- usuwanie istniejącego

Plus dodałbym do tego fabryki do tworzenia obiektów Post i Comment.

Co do klasy Register, to jeżeli miałoby to być coś na wzór zendowskiego Registry, to czasem się przydaje:)

Ten post edytował bastard13 10.08.2011, 13:43:00
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 05:39