Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> jak uzyc metode obiektu innej klasy w metodzie, referencje i te sprawy...
Kiler
post
Post #1





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.01.2003
Skąd: www

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


Jak to zrobic aby do metody przekazac nazwe obiektu z innej klasy i wykorzystac jego metode??
  1. <?php
  2. class language{
  3. var $lng;
  4. var $nazwa;
  5. var $wartosc;
  6. function language($name=&#092;"pl\"){
  7. $this->lng=$name;
  8. }
  9. function wstaw($baza,$nazwa){
  10. //wykorzystanie metod klasy bazasql
  11. $baza->query(&#092;"SELECT * FROM \".$this->lng.\" WHERE nazwa 
  12.  LIKE &#092;".  $nazwa);
  13. $row=$baza->fetch_array();
  14. return $row[1]; 
  15. }
  16. }
  17. $sql = new bazasql;
  18. $sql->connect($host,$user,$haslo,$db);
  19. $lang=new language;
  20. $lang->wstaw($sql,'title');
  21. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcin96
post
Post #2





Grupa: Zarejestrowani
Postów: 57
Pomógł: 0
Dołączył: 21.08.2003
Skąd: Będzin

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


  1. <?php
  2. class language{
  3.     var $lng;
  4.     var $nazwa;
  5.     var $wartosc;
  6.     function language($name=&#092;"pl\"){
  7.         $this->lng=$name;
  8.     }
  9.     function wstaw( &$baza, $nazwa){      // tutaj zmiana, bylo: $baza, jest &$baza
  10.         //wykorzystanie metod klasy bazasql
  11.         $baza->query(&#092;"SELECT * FROM \".$this->lng.\" WHERE nazwa 
  12.          LIKE &#092;".   $nazwa);
  13.         $row=$baza->fetch_array();
  14.         return $row[1]; 
  15.     }
  16. }
  17. $sql = new bazasql;
  18. $sql->connect($host,$user,$haslo,$db);
  19. $lang=new language;
  20. $lang->wstaw($sql,'title');
  21. ?>


hm?

..ale mozna to ladniej zrobic:

  1. <?php
  2. class language{
  3.     var $lng;
  4.     var $nazwa;
  5.     var $wartosc;
  6.     var $baza;
  7.  
  8.     function language( &$baza, $name=&#092;"pl\"){       // teraz &$baza tutaj..
  9.         $this->lng=$name;
  10.         $this->baza =& $baza;
  11.     }
  12.  
  13.     function wstaw($nazwa){
  14.         //wykorzystanie metod klasy bazasql
  15.         $this->baza->query(&#092;"SELECT * FROM \".$this->lng.\" WHERE nazwa 
  16.          LIKE &#092;".   $nazwa);
  17.         $row=$this->baza->fetch_array();
  18.         return $row[1]; 
  19.     }
  20. }
  21. $sql = new bazasql;
  22. $sql->connect($host,$user,$haslo,$db);
  23. $lang=new language($sql);
  24. $lang->wstaw('title');
  25. ?>


wtedy nie trzeba przy kazdym 'wstaw' przekazywac obiektu 'baza'. Poczytaj rozdzial o referencjach w manualu, jesli nie wiesz czemu teraz dziala :>)

Ten post edytował marcin96 25.10.2004, 20:55:13
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: 9.10.2025 - 13:06