Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Funkcje innych klas w klasach
Maxie
post
Post #1





Grupa: Zarejestrowani
Postów: 82
Pomógł: 1
Dołączył: 19.10.2011

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


Witam. Dosyć nie dawno zacząłem pracować na OOP w php. Mam mały problem z kodem. Otóż jak mogę wykorzystać funkcję klasy A w klasie B. Np.
  1. class db{
  2. //połączyłem się już z bazą danych
  3. public function assoc($sql){
  4. $sql = mysql_query($sql);
  5. return mysql_fetch_assoc($sql);
  6. }
  7. }
  8.  
  9. class user{
  10. public nick = 'user';
  11. public function id(){
  12. // i w tym miejscu potrzebuję skorzystać z funckij assoc w ten sposób:
  13. return $db->assoc("SELECT * FROM `users` WHERE `nick` = "'.$this->nick.'"");
  14. }
  15. }

Ale nie wiem jak to zrobić, by móc użyć np($db->assoc) w np(class user).
Jest to wytłumaczone tak na moje umiejętności. Rzecz jasna w normalnym kodzie musiałbym np. stworzyć nową zmienną $db = new db(); itp. Ale pomijając to. To jak wykorzystywać funkcje z innych klas?
Z góry dziękuję za wyczerpującą odpowiedź i pozdrawiam, Maxie.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
viking
post
Post #2





Grupa: Zarejestrowani
Postów: 6 381
Pomógł: 1116
Dołączył: 30.08.2006

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


Bo wychodzę z założenia że jak uczyć to raz a dobrze (IMG:style_emoticons/default/smile.gif) To co sugerujesz na 99% otwierało by w konstruktorze nowe połączenie z bazą.
Go to the top of the page
+Quote Post
sazian
post
Post #3





Grupa: Zarejestrowani
Postów: 1 045
Pomógł: 141
Dołączył: 19.09.2006
Skąd: B-tów

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


Cytat(viking @ 31.03.2013, 13:19:13 ) *
Bo wychodzę z założenia że jak uczyć to raz a dobrze (IMG:style_emoticons/default/smile.gif)

idąc tym tropem zakładam że w szkole podstawowej miałeś liczby zespolone, przecież poco się uczyć że pierwiastek drugiego stopnia z liczby ujemnej nie istnieje?

Cytat(viking @ 31.03.2013, 13:19:13 ) *
To co sugerujesz na 99% otwierało by w konstruktorze nowe połączenie z bazą.

rozumiem że chodzi ci o tworzenie nowego połączenia przy każdym wywołaniu konstruktora klasy user, tak ?
jeśli tak to 99,9% nie masz racji
dlaczego tak uważam ? ano dlatego że kolega "Maxie" zapewne przeczytał jakiś dosyć stary kurs i na jego podstawie zrobił coś takiego
  1. mysql_connect();
  2. class db{}
  3. class user{}



poza tym to co napisałeś nie odzwierciedla problemu
problemem było odwołanie się do jednej klasy z poziomu drugiej, a nie jak pobierać dane "z bazy do klasy" (IMG:style_emoticons/default/smile.gif)
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: 26.08.2025 - 00:45