![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 1.08.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Uczę się PHP i postanowiłem napisać CMSa.. Już mam dodawanie/edytowanie podstron, menu. Mój CMS wszystko sobie zapisuje w bazie MySql. Wyczytałem, że lepszym sposobem programowanie jest programowanie obiektowe. Tylko właśnie nie do końca wiem czy lepiej pisać to obiektowo czy nie... i to jest moje pytanie (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Np. w PANELU ADMINA w dziale PODSTRONY mam to zrobione tak: *zapytanie:
*za pomocą: wyświetlam wszystko w tabeli, USER może sobie zaznaczyć kilka PODSTRON i kliknąć USUŃ. DOKUMENT SIE PRZELADOWUJE I MAM W ZMIENNYCH POST/GET NUMERY ID PODSTRON DO USUNIECIA *zapytanie: usuwa podstronę A jeżeli dobrze zrozumiałem to obiektowo musiałoby to wyglądać jakoś tak: tworze sobie klasę, w niej zmienne private $id,$status,$nazwa,$data_utworzenia,$data_edycji,$autor. Jako obiekty ładuje do klasy wszystko z MySql - każda podstrona to jeden obiekt. hmm tworze sobie funkcję w klasie która mi będzie wyświetlać tak jak wczesniej po kolei dane... USER zaznacza kilka do usuniecia i teraz zeby usunac dane funkcją np. UsunDane() (ktorą sobie stworze w klasie) to musze najpierw wczytac dane obiekty i potem wywolac fukncje UsunDane().. A normalnie po prostu usuwam obiekty o danym ID bez wczytywania ich. wiec wychodzi dłużej ;/ Czyli obiektowo czy nie? Moze ja nie rozumiem obiektowoście po prostu jeszcze, moze to sie roi inaczej?? Ten post edytował marekc12 1.08.2008, 14:56:24 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 793 Pomógł: 32 Dołączył: 23.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Na początku tak się wydaje, że tylko ładniej, jak zaczniesz pojmować o co w tym chodzi, to zaczniesz rozumieć jaka jest w tym siła. Programowanie obiektowe, to nie jest jedna klasa, czy dwie, to wiele współpracujących ze sobą obiektów, ale aby to zrobić użytecznie, ładnie i elastycznie trzeba dużo czasu.
Moim zdaniem powinieneś zainwestować w książkę (choć nie powinno się brać tego co autor pisze jak prawdę, bo czasem mają głupie poglądy), poczytać kod jakiś prostych rzeczy napisanych obiektowo, czy chociażby je wykorzystać. Wtedy zrozumiesz jak to działa, bo samemu dochodząc bez przykładów, to zajmie wieki... Spróbuj zintegrować swój projekt z Propel, poużywać go, na pewno wiele się dzięki temu nauczysz. @marekc12 Uważaj na to co znajdziesz w internecie, bo czasem niby mądre osoby, a głupoty piszą. Powinieneś zacząć od tego co ma ten obiekt robić, jaki ma zakres obowiązków, a potem dopiero wyszczególniać metody i właściwości. Czyli np. ma łączyć się z bazą i umożliwiać wykonywanie kwerend na niej. Co jest z interfejsu, wykonywanie kwerend, teraz pytanie jak to komplikować: - można podzielić na dwa rodzaje, te co zwracają coś (SELECT) i te co nie zwracają (UPDATE/INSERT itp) więc można je rozdzielić, i wtedy np. jedna metoda zwraca tablice rekordów, a druga nic... czy jakkolwiek, ale wszystkie mysql_*() powinny być w jednej klasie, a inne korzystać tylko z jej interfejsu. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 13.10.2025 - 15:02 |