Funktionsnamen ermitteln

Funktionsnamen ermitteln

am 06.11.2006 21:39:59 von j.ellermann

Hallo,

ich möchte in einem Funktionsaufruf automatisch den Namen der
aufrufenden Funktion übergeben, also

function bla () {
....
$ergebnis = aufruf ($wert1, $wert2, $wieheissich);
....
}

function aufruf ($w1, $w2, $fname) {
print "Funktion:".$woherkommich;
}

In dem obigen Beispiel möchte ich also
Funktion:bla
als Output haben, wobei $wieheissich automatisch zugewiesen werden soll.

Danke,
Jörg

Re: Funktionsnamen ermitteln

am 06.11.2006 22:03:37 von Sebastian Wessel

Jörg Ellermann schrieb:
> Hallo,
>
> ich möchte in einem Funktionsaufruf automatisch den Namen der
> aufrufenden Funktion übergeben, also
>
> function bla () {
> ...
> $ergebnis = aufruf ($wert1, $wert2, $wieheissich);
> ...
> }
>
> function aufruf ($w1, $w2, $fname) {
> print "Funktion:".$woherkommich;
> }
>
> In dem obigen Beispiel möchte ich also
> Funktion:bla
> als Output haben, wobei $wieheissich automatisch zugewiesen werden soll.

Viel Spaß damit.

Achso, jetzt kapier ich erst, du wolltest uns nicht nur dein Vorhaben
mitteilen, sondern auch erfragen, wie das geht?

Kleiner Tipp:
$wieheissich = 'Funktion:bla';

Das an der richtigen Stelle und du bist fertig ;)


--
MfG Sebastian Wessel

"Wer Dich wegen deines Hemdes verprügelt ist nicht dein Freund."
(March Simpson)

Re: Funktionsnamen ermitteln

am 06.11.2006 22:05:05 von Sebastian Wessel

Sebastian Wessel schrieb:
> Kleiner Tipp:
> $wieheissich = 'Funktion:bla';
>
> Das an der richtigen Stelle und du bist fertig ;)

Achso: Oder direkt beim Funktionsaufruf
$ergebnis = aufruf ($wert1, $wert2, 'Funktion:bla');


--
MfG Sebastian Wessel

"Wer Dich wegen deines Hemdes verprügelt ist nicht dein Freund."
(March Simpson)

Re: Funktionsnamen ermitteln

am 06.11.2006 22:08:05 von Peter Schmidt

Jörg Ellermann schrieb:
> Hallo,
>
> ich möchte in einem Funktionsaufruf automatisch den Namen der
> aufrufenden Funktion übergeben, also

suchst du vielleicht __FUNCTION__, siehe auch
http://de3.php.net/manual/de/language.constants.predefined.p hp?


Gruß
Pta

Re: Funktionsnamen ermitteln

am 06.11.2006 22:17:24 von Helmut Chang

Jörg Ellermann schrieb:
> Hallo,
>
> ich möchte in einem Funktionsaufruf automatisch den Namen der
> aufrufenden Funktion übergeben, also
>
> function bla () {
> ...
> $ergebnis = aufruf ($wert1, $wert2, $wieheissich);
> ...
> }
>
> function aufruf ($w1, $w2, $fname) {
^^^^^^
> print "Funktion:".$woherkommich;
^^^^^^^^^^^^^
> }

Tztztz... ;-)

> In dem obigen Beispiel möchte ich also
> Funktion:bla
> als Output haben, wobei $wieheissich automatisch zugewiesen werden soll.

Ganz automatisch geht es nicht. Aber:



function blah() {
...
$ergebnis = aufruf($wert1, $wert2, __FUNCTION__);
...
}

gruss, heli

Re: Funktionsnamen ermitteln

am 06.11.2006 22:19:41 von Rudi Menter

Es schrieb Helmut Chang:

> Ganz automatisch geht es nicht. Aber:
>
>
>
> function blah() {
> ...
> $ergebnis = aufruf($wert1, $wert2, __FUNCTION__);
> ...
> }

Doch, das geht:

function bla() {
...
echo __FUNCTION__;
...
}

--
fG

Re: Funktionsnamen ermitteln

am 07.11.2006 00:56:05 von j.ellermann

Helmut Chang wrote:

> Ganz automatisch geht es nicht. Aber:
>
>
>
> function blah() {
> ...
> $ergebnis = aufruf($wert1, $wert2, __FUNCTION__);
> ...
> }

Mei, warum kennt i denn des noch net?

Danke erstmal,
Jörg

Re: Funktionsnamen ermitteln

am 07.11.2006 12:48:52 von Hinrich Sager

Jörg Ellermann schrieb:

> ich möchte in einem Funktionsaufruf automatisch den Namen der
> aufrufenden Funktion übergeben, also
>
> function bla () {
> ...
> $ergebnis = aufruf ($wert1, $wert2, $wieheissich);

....oder suchst du vielleicht dieses nette Spielzeug?
http://de.php.net/manual/en/function.debug-backtrace.php

function onkelAlfred()
{
$trace = debug_backtrace();
echo 'Ich heisse ', $trace[0]['function'],
' und wurde von ', $trace[1]['function'],
' in ', $trace[1]['file'],
':', $trace[1]['line'],
' mit den Argumenten ', $trace[1]['args'][0],
' und ', $trace[1]['args'][1],
' aufgerufen';
}

function tanteErna($x, $y)
{
onkelAlfred();
}

tanteErna('bla', 'blub');
?>

gruss
his

Re: Funktionsnamen ermitteln

am 07.11.2006 21:00:06 von Matthias Esken

On Tue, 07 Nov 2006 12:48:52 +0100, Hinrich Sager wrote:

> ...oder suchst du vielleicht dieses nette Spielzeug?
> http://de.php.net/manual/en/function.debug-backtrace.php

Ach da isses. Ich hatte irgendwie vergeblich im Reflection-Bereich
rumgesucht.

Gruß,
Matthias