Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa w klasie
Mephis
post
Post #1





Grupa: Zarejestrowani
Postów: 94
Pomógł: 1
Dołączył: 16.12.2012

Ostrzeżenie: (0%)
-----


Witam.

Mam problem... Przeszukałem google pod podobnymi hasłami jak w temacie, lecz nie znalazłem odpowiedniego, działającego rozwiązania. A musi jakieś istnieć - chyba, że to co chcę zrobić, jest nieodpowiednie, lub istnieje owiele prostrzy spodób...

Mianowicie, mam dwie klasy: SQL i UserData. Pierwsza z nich służy do obsługi bazy danych. Druga będzie miała za zadanie zbierać z tej bazy różnego rodzaju informacje i odpowiednio je łączyć.

Klasę SQL wywołuję w taki sposób:
  1. require_once('inc/sql.class.php');
  2. $SQL = new SQL($sqlhost, $sqluser, $sqlpassword, $sqldatabase);

Baza łączy się w konstruktorze.

Próbowałem dołączać klasę w argumencie, lecz to nic nie dało.

W klasie Data pragnę odwoływać się do klasy SQL, ponieważ będę tam przeprowadzać wszelkie operacje oparte o dane użytkownika.
  1. class UserData {
  2. function getData() {
  3. $query = $SQL->query('zapytanie');
  4. }
  5. }


Jak zrobić coś tego typu?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

Ostrzeżenie: (0%)
-----


Jakbyś pomagał uczyć się na błędach to byłoby OK, zamiast tego jedynie pchasz użytkownika w dalsze błędy.

Lepsze rozwiązania zostały już podane i nie widzę sensu pisać tego samego.

Cytat(trueblue @ 30.03.2014, 13:28:10 ) *
A może do zainicjowanego obiektu klasy UserData przekazać obiekt klasy SQL?



Cytat(ctom @ 30.03.2014, 16:29:39 ) *
bo każda klasa powinna być odpowiedzialna na "jedną rzecz" (?). Co klasę UserData obchodzi połączenie do DB.



Cytat(Crozin @ 30.03.2014, 16:55:34 ) *
1. Ciebie nie interesuje wykorzystanie klasy w klasie, tylko obiektu w obiekcie.
2. Było już dosłownie dziesiątki razy na forum... zawsze kończyło się tym, że najlepszym rozwiązaniem, nie stwarzającym żadnych problemów i dającym jakieś korzyści z OOP jest IoC np. w realizacji przez dependency injection.

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: 15.10.2025 - 09:02