Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wywolywanie funcji, problem
magrytos
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.03.2009

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


WItam. zaznaczam, ze jestem mega poczatkujacy.
no, wiec jak juz pisalem mam maly problem. otoz mam 2 klasy, klasa1 i klasa2. w pierwszej klasie mam jedna funkcje: funkcja11(), w drugiej 2 fcjie: funkcja21() i funkcja22(). klasa1 wygloda tak:

class klasa1{

$f = new Klasa2();

$f->funkcja21();

function funkcja11(){
...
$f->funkcja22();
}
}
Problem jest taki ze funkcja21() wywoluje sie elegancko. gorzej jest w przypadku funkcja22(), ktora siedzi w ciele funkcji11(). dostaje blad Fatal error: Call to a member function funkcja22() on a non-object. Moze mi ktos pomoc?
dzieki
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
230005
post
Post #2





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Jeśli używasz $f w ciele funkcji, to musisz go użyć w ten sposób $this -> f -> tutaj_twoja_funkcja(); Jeśli nie użyjesz słowa kluczowego $this, to php myślisz że odwołujesz się do zmiennej lokalnej, a nie obiektu :]

Ten post edytował 230005 26.03.2009, 15:25:22
Go to the top of the page
+Quote Post
Maciekbjw
post
Post #3





Grupa: Zarejestrowani
Postów: 217
Pomógł: 23
Dołączył: 2.12.2007
Skąd: Warszawa

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


  1. <?php
  2.  
  3. class Klasa1 {
  4.  
  5. //obiekt klasy Klasa2
  6.    public $f;
  7.    
  8.    /**
  9.     to Nie zadziała. zrob to w konstruktorze
  10.     $this->f = New Klasa2();
  11.     */
  12.    //konstruktor!
  13.    function __construct() {
  14.        $this->f = New Klasa2();
  15.        }
  16.    function funkcja11() {
  17.        $this->f->funkcja22();
  18.        }
  19.  
  20.  
  21. }
  22.  
  23. class Klasa2 {
  24.  
  25.    function funkcja22() {
  26.        //jakis kod tutaj
  27.        echo 'jestem';
  28.        }
  29.        
  30.        }
  31.  
  32.        
  33.        $a = New Klasa1;
  34.        $a->funkcja11();
  35. ?>


Wyciągnij wnioski (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Go to the top of the page
+Quote Post
magrytos
post
Post #4





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 24.03.2009

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


dzialczy elegancko. dzieki!!!
Go to the top of the page
+Quote Post
230005
post
Post #5





Grupa: Zarejestrowani
Postów: 316
Pomógł: 36
Dołączył: 2.04.2008

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


Jeśli ci pomogliśmy, to kliknij "pomógł" (IMG:http://forum.php.pl/style_emoticons/default/winksmiley.jpg) .
Go to the top of the page
+Quote Post

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: 23.08.2025 - 07:06