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