Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][MYSQL] Dostep do pól innej klasy
-Bolt-
post
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.

  1. <?php
  2.  
  3. class pobierz { // tu klasa pobierajaca dane z bazy danych z metodami.
  4.  
  5.  public function cos() {
  6.  }
  7.  
  8. }
  9.  
  10.    class sign { // tu klasa sprawdzajaca i logujaca uzytkownika z jakims metodami odpowiadajacymi np. za sprawdzanie poprawnosci usera
  11.    
  12.    public function signin () {
  13.    }
  14.  
  15.    }
  16.  
  17. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
blooregard
post
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...
Go to the top of the page
+Quote Post
-Bolt-
post
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 ?
Go to the top of the page
+Quote Post
drPayton
post
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 winksmiley.jpg Interfejs wymusza jedynie implementację określonych metod publicznych. Jeśli chcesz korzystać z tych samych danych w jednej klasie to:
1. Sposób podany wyżej
2. Wzorzec Registry (szukaj na forum, ino niekoniecznie na przedszkolu) - w skrócie globalny kontener (=rejestr) dla danych
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:02