co powinno byc obiektem w cms |
co powinno byc obiektem w cms |
8.03.2009, 19:35:30
Post
#1
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) |
Witam!
Jestem początkujący i chcę wiedzieć czy dobrze rozumiem to programowanie obiektowe Zacząłem pisać prostego CMSa, nie jestem pewien czy dobrze rozumiem co powinno być obiektem, klasą, metodą. Poprawcie mnie jeśli źle myślę. Mam tak: 1) klasa baza_danych, w niej metody obsługujące połączenie, rozłączenie z bazą i jedna wysyłająca zapytanie, które otrzyma jako argument. 2) klasa uzytkownik, obiektem tej klasy jest pojedyńczy uzytkownik(tak powinno być?), mam w niej zmienne: nazwa_uzytkownika, haslo. Metody: dodaj_uzytkownika, usun_uzytkownika, edytuj_uzytkownika. Kiedy chce dodac uzytkownika to:
metoda dodaj_uzytkownika pobierze imie i haslo uzytkownika z nazwa_uzytkownika, haslo. Nastepnie wysle gotowe zapytanie do metody z klasy baza_danych. Czy dobrze to zrobiłem? Tak samo myślałem robić z podstronami, menu i resztą. I teraz drugie pytanie: jak rozwiązać wyświetlanie wszystkich uzytkownikow z bazy danych, jeżeli obiektem klasy jest tylko 1 użytkownik. Nie zdziwie się, jeśli wszystko się okaże źle Właśnie dlatego postanowiłem zapytać zmaiast pisac dalej. Pozdrawiam! |
|
|
8.03.2009, 21:18:33
Post
#2
|
|
Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź |
Cytat Czy dobrze to zrobiłem? Dokładnie o to chodzi. Bardzo dobrze zrobiłeś. Cytat I teraz drugie pytanie: jak rozwiązać wyświetlanie wszystkich uzytkownikow z bazy danych, jeżeli obiektem klasy jest tylko 1 użytkownik. Utwórz sobie klasę UsersCollection - kolekcja (lista) obiektów klasy User W niej będziesz miał jako właściwość tablicę obiektów klasy User. I wtedy robisz cos takiego:
-------------------- Life's simple... You make choices and don't look back...
|
|
|
9.03.2009, 16:35:31
Post
#3
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) |
Czyli mam klasę uzytkownik, która obsługuje pojedzyńczego użytkownika i ma metody: dodaj_usera, usun_usera, edytuj_usera i właściwości np: id, imie, haslo.
Do tego tworzę klasę uzytkownicy, która ma tabelę obiektów klasy uzytkownik i jedną metodę ładującą z bazy danych wszystkie obiekty do klasy uzytkownik. I teraz, gdy chcę coś zrobić to sobie odpalam metodę(z klasy uzytkownicy) ładującą obiekty, a następnie np. metodę dodaj_usera z klasy uzytkownik. Jeśli tak to: 1) Czy klasa uzykownicy ma być matką klasy uzytkownik? Ten post edytował marekaaa 9.03.2009, 16:37:04 |
|
|
9.03.2009, 16:41:15
Post
#4
|
|
Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) |
1. nie, jeśli dobrze zrozumiałem opis to nie.
Natomiast nie rozumiem po co komplikować sobie życie i zamiast Użytkownicy::dodaj('nick', 'pass'); jest
Tego typu sposób natomiast jest dobry w przypadku, gdy masz "szeroką" (dużo kolumn) tabelę z użytkownikami i chcesz edytować jego dane:
Dużo wygodniejsze, bo edytujemy tylko te pola, które chcemy. -------------------- |
|
|
9.03.2009, 16:49:22
Post
#5
|
|
Grupa: Zarejestrowani Postów: 1 873 Pomógł: 152 Dołączył: 9.04.2006 Skąd: Berlin Ostrzeżenie: (0%) |
Jak już edytujecie to zrobcie to może tak
-------------------- |
|
|
9.03.2009, 17:06:29
Post
#6
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) |
@bim2:
i jeśli chcę wyświetlić wszystkich użytkowników to jak to zrobić przy tej klasie? Ten post edytował marekaaa 9.03.2009, 17:07:15 |
|
|
9.03.2009, 17:43:43
Post
#7
|
|
Grupa: Zarejestrowani Postów: 175 Pomógł: 12 Dołączył: 28.06.2007 Skąd: Bytom Ostrzeżenie: (0%) |
nie wyciągaj bebechów na wierzch
do poczytania: http://art-of-software.blogspot.com/2008/1...-smaczny-i.html -------------------- Wyobraźnia bez wiedzy może stworzyć rzeczy piękne.
Wiedza bez wyobraźni najwyżej doskonałe. Albert Einstein |
|
|
11.03.2009, 19:50:38
Post
#8
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 8.03.2009 Ostrzeżenie: (0%) |
trudny ten tekst... chyba sobie jeszcze muszę poczytać o tej obiektowości po necie, nie jest to takie proste jak mi sie wydawało niestety
|
|
|
11.03.2009, 19:56:43
Post
#9
|
|
Grupa: Zarejestrowani Postów: 91 Pomógł: 9 Dołączył: 6.03.2009 Skąd: Katowice Ostrzeżenie: (0%) |
Na wortalu jest artykuł jak napisać FRAMEWORK, to Ci pomoże pisać CMS. Bez szkieletu nie napiszesz CMS, a jeśli nie chcesz pisać skorzystaj z tych już napisanych jak CodeIngniter, CakePHP, czy Symfony. Wtedy będziemy gadać, czy dobrze rozumiesz obiektowość. Teraz to takie rzucanie grochem o ścianę: "a może się przebije".
Pozdrawiam -------------------- www.quider.pl <- moja prywatna strona
Pomogłem? Kliknij Pomógł |
|
|
19.04.2009, 00:03:57
Post
#10
|
|
Grupa: Zarejestrowani Postów: 717 Pomógł: 120 Dołączył: 18.04.2009 Ostrzeżenie: (0%) |
1) klasa baza_danych, w niej metody obsługujące połączenie, rozłączenie z bazą i jedna wysyłająca zapytanie, które otrzyma jako argument. 2) klasa uzytkownik, obiektem tej klasy jest pojedyńczy uzytkownik(tak powinno być?), mam w niej zmienne: nazwa_uzytkownika, haslo. Metody: dodaj_uzytkownika, usun_uzytkownika, edytuj_uzytkownika. Może być. Ale najważniejsze to to, żeby po prostu wygodnie było Ci się tym posługiwać i mógł łatwo wprowadzać zmiany w projekcie, a nie konkretne zmienne i metody. [quote name='marekaaa' date='8.03.2009, 20:35:30 ' post='581425'] Zacząłem pisać prostego CMSa, nie jestem pewien czy dobrze rozumiem co powinno być obiektem, klasą, metodą. [/quote ] Co zechcesz. W programowaniu nie ma zazwyczaj jednego prawidłowego rozwiązania. Dany problem można zwykle rozwiążać na wiele różnych sposobów i od programisty i konkretnych potrzeb projektu zależy, które podejście obrać. Np. równie dobrze do obsługi bazy danych mógłbyś po prostu stworzyć po parę funkcji pomocniczych zamiast klasy i też byłoby dobrze. Dobrze, nie znaczy lepiej, tylko po prostu tak samo dobrze by Ci działała strona. Inna sprawa, że klasy i obiekty są częściej po prostu wygodniejsze w obsłudze dla programisty. Tak samo do obsługi użytkowników równie dobrze mógłbyś mieć dwie klasy - osobno Uzytkownik i osobno Uzytkownicy, ale nic nie szkodzi na przeszkodzie, jeżeli Ci tak będzie wygodnie, żebyś kod do obslugi zarowno pojedynczego uzytkownika jak i całej listy uzytkownikow umieścił w jednej klasie Uzytkownik i pisać coś takiego: Kod Uzytkownik::pobierzWszystkich(); jak chcesz pobrac listę uzytkownikow, i coś takiego: Kod uzytkownik = Uzytkownik::aktualnieZalogowany(); jak chcesz pobrać tylko jednego uzytkownika. Rozumiesz, nie ma jednoznacznych rozwiązań. To nie egzamin w szkole, to programowanie. Ten post edytował PrinceOfPersia 19.04.2009, 00:12:37 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 28.03.2024 - 22:47 |