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
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ń
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 14.10.2025 - 06:06