![]() |
![]() |
-Bolt- |
![]()
Post
#1
|
Goście ![]() |
Mam pytanie. Jak uzyskać w OOP dostęp z jednej klasy do pól drugiej osobnej klasy? Chodzi mi o to że mam np. pola z hasłem i nickiem użytkownika i chcę je sprawdzić czy są poprawne z użyciem innej klasy do tego napisanej. Interface'ami czy czym? Np. Coś takiego przy systemie logowania np. klasa odpowiadająca za pobieranie danych, a druga za logowanie użytkownika.
|
|
|
![]() |
![]()
Post
#2
|
|
![]() Newsman Grupa: Moderatorzy Postów: 2 033 Pomógł: 290 Dołączył: 21.12.2007 Skąd: Łódź ![]() |
Możesz w klasie, w której chcesz sprawdzić dane usera, dodać właściwość: obiekt klasy User i np. przekazać zalogowanego usera jako argument metody:
Kod class jakasTam { private jakasTam_user; public function jakasAkcjaTylkoDlaZalogowanegoUsera($user) { $this->jakasTam_user = $user; $this->jakasTam_user->sprawdzUprawnienia(); $this->jakasTam_user->sprawdzCzyZalogowany(); ..... (i tak dalej) ..... }// } A w kodzie tworzysz sobie nowy obiekt klasy jakasTam i przekazujesz do tej metody obiekt klasy User: Kod $User = new klasaUser(); ... (tu logowanie i inne rzezcy) .... jakasTamObjekt = new jakasTam; jakasTamObiekt->jakasAkcjaTylkoDlaZalogowanegoUsera($User); Ale to tylko jedno z rozwiązań -------------------- Life's simple... You make choices and don't look back...
|
|
|
-Bolt- |
![]()
Post
#3
|
Goście ![]() |
Ok, ale jak będzie lepiej tak czy z wykorzystaniem np. interfejsu ? Chodzi mi o szybkość działania. Chcę zrobić taki system logowania, że będzie jedna klasa do pobierania danych taki jakby sterownik do pobierania ich , a druga sprawdzająca i logująca użytkownika. Czy takie rozwiązanie jest opłacalne z tą klasą pobierającą dane z bazy ?
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 890 Pomógł: 65 Dołączył: 13.11.2005 Skąd: Olsztyn Ostrzeżenie: (0%) ![]() ![]() |
A co ma piernik do wiatraka? Za pomocą interfejsu danych nie przekażesz, takie rzeczy to tylko w Erze
![]() 1. Sposób podany wyżej 2. Wzorzec Registry (szukaj na forum, ino niekoniecznie na przedszkolu) - w skrócie globalny kontener (=rejestr) dla danych |
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 02:02 |