adolf1945
10.08.2011, 12:31:37
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)
kamillo121
10.08.2011, 13:22:02
Witaj, podejście jest raczej prawidłowe o ile odpowiada to twoim potrzebą(chociaż nigdy nie byłem zwolennikiem takiego podejścia

)
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.
bastard13
10.08.2011, 13:41:53
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:)