Hívó környezet meghatározása


Néha jól jöhet, ha tudjuk, hogy egy-egy függvényünket milyen környezetből (milyen függvényből, mely osztály mely metódusából, melyik fájlból stb.) hívták meg. Ebben segíthet ez a snippet.

Hogy egy példát is írjak, hogy mikor lehet ez hasznos: tegyük fel, szeretnénk elérni, hogy csak a System nevű osztályunk hívhassa – közvetlenül – a DB osztályunk Query metódusát. A lenti függvény segítségével ez egyszerűen megoldható.

A visszaadott tömb kulcsairól olvashatunk az debug_backtrace függvény leírásánál. Fontos megjegyezni, hogy pont ennek a függvénynek a használata miatt legalább php 4.3-ra lesz szükségünk!

1
2
3
4
function caller() {
	$trace = debug_backtrace();
	return array_merge(array('function' => null, 'line' => null, 'file' => null, 'class' => null, 'object' => null, 'type' => null, 'args' => null), IsSet($trace[2]) ? $trace[2] : array());
}
Kapcsolódó bejegyzések:
  • Aki írt már JavaScript kódot tudja, hogy a nyelv rengeteg objektummal dolgozik, és minden objektumnak vannak böngésző-specifikus tulajdonságai, metódusai. Ilyen …

  • Személy szerint már sokszor jártam úgy, hogy egy eredményt, ami várhatóan egy tömb volt be kellett járja. Ilyen esetekben általában meg szoktuk vizsgálni, hogy a …

  • Bizonyára sokszor megesett már veletek is, hogy egy végtelen nagyságú tömböt objektummá szerettetek volna alakítani.  Ez a megoldás rendkívül hasznos,  s gyakran …

  • Sokszor felmerül az igény a késleltetésre egy banner elkészítése során. Ezt egyszerűen meg tudjuk oldani egy setInterval és egy clearInterval függvény használatá …

  • Ahogy belépek egy magyar nyelvű fórumba ahol webszerkesztés téma is van, olyan nincs, hogy ne találjak olyan kérdést, hogy “Keresés, hogyan?”. Most erre talász i …

A cikket beküldte: BlackY ()

Szólj hozzá
a Hívó környezet meghatározása c. bejegyzéshez

- Engedélyezett HTML elemek: <a> <em> <strong> <ul> <ol> <li>
- Forráskód beküldéséhez tedd a kódot ezek közé: <pre lang="php" line="1">Kódrészlet helye itt</pre>