ugrás a tartalomhoz

Honnan hívtuk a függvényt?

Anonymous · 2006. Ápr. 29. (Szo), 12.39
Sziasztok!

Olyat szeretnék csinálni, hogy egy függvény másként viselkedjen attól függően, hogy honnan hívtam meg. Hogyan tudnám lekérdezni, hogy egy függvényt melyik másik függvényből hívtam? Esetleg azt, hogy melyik fájlból...

Ilyen van, vagy eleve rossz ha ilyesmin töröm a fejem?

Köszi!
 
1

Lehet egyszerűbben is

krey · 2006. Ápr. 29. (Szo), 12.46
Mit szólnál mégegy paraméterhez? :)

krey
2

gondoltam rája

Anonymous · 2006. Ápr. 29. (Szo), 13.31
...de pont az lenne benne a jo hogy tok automatikus lenn, nem kéne semmire figyelnem a hivaskor. nem lehet megoldani?
4

Mit akarsz megoldani ezzel?

Jano · 2006. Ápr. 29. (Szo), 21.34
Ird le mire szeretnéd használni, ahhoz jobban hozzá tudnak szólni az emberek!
3

Talán így jó...

Pred · 2006. Ápr. 29. (Szo), 14.34
A debug_backtrace() fügvénnyel talán megoldható.

Bővebb infó a PHP.net ről

Ehhez hasonló tömb-tömbbel tér majd vissza, ahol a 0. elem az aktuális függvény, az 1. elem az őt hívó, és így tovább...

array(4) {
    ["file"] => fájl neve, ahol a function van
    ["line"] => a function ebben a sorban kezdődik
    ["function"] => az funkció neve
    ["args"]=>
    array(1) {
      [0] => első argumentum
    }
}
Tehát pl:

function hivo() {
 hivott();
}

function hivott() {
 $debug = debug_backtrace();
 $caller_function = $debug[1]["function"]; //a $caller_function értéke "hivo"

 var_dump($debug); //kiírjuk az egész $debug változót ellenőrzésképpen..
}