![]() |
![]() ![]() |
![]() |
![]()
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 ![]() 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 ![]() |
|
|
![]()
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...
|
|
|
![]()
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 |
|
|
![]()
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. -------------------- |
|
|
![]()
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
-------------------- |
|
|
![]()
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 |
|
|
![]()
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 |
|
|
![]()
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
|
|
|
![]()
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ł |
|
|
![]()
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 -------------------- |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 17:58 |