Hiho,
für eine Log-Funktion wäre es super, wenn ich wüsste, von welcher Funktion diese gerade aufgerufen wird.
Ich glaub ich hab in nem Buch mal gelesen, dass das geht, kann mir da jemand helfen?
Name der aufrufenden Funktion
gepostet vor 17 Jahre, 3 Monate von Blabbo
gepostet vor 17 Jahre, 3 Monate von TheUndeadable
Such mal nach Stack-Trace...
gepostet vor 17 Jahre, 3 Monate von HSINC
bei php und oop kann mans via debug_backtrace rausbekommen
gepostet vor 17 Jahre, 3 Monate von Blabbo
Original von HSINC
bei php und oop kann mans via debug_backtrace rausbekommen
Zu blöd dass ich ne OOP-Allergie habe
Aber ja, es geht um PHP, hätte ich vielleicht dazusagen sollen.
gepostet vor 17 Jahre, 3 Monate von HSINC
die einfachste version ist dann wohl nen funktionsaufruf ala
functionname(args,__LINE__,__FILE__,__FUNCTION__)
functionname(args,__LINE__,__FILE__,__FUNCTION__)
gepostet vor 17 Jahre, 3 Monate von DrakeL
Original von Blabbo
Zu blöd dass ich ne OOP-Allergie habe
Sry weil es nicht zum Thema gehört, aber wie kann man ne Allergie gegen die bedeutenste Neuerung von PHP 5 haben, welche für PHP in meinen Augen (mit Exception Handling) endlich den Sprung in die professionellen Hochsprachen ermöglicht? ^^
*OOP und Exception Handling Verfechter bin*
gepostet vor 17 Jahre, 3 Monate von Blabbo
bin halt kein fan von professionellen hochsprachen
danke für die tipps
danke für die tipps
gepostet vor 17 Jahre, 3 Monate von None
Original von DrakeL
endlich den Sprung in die professionellen Hochsprachen ermöglicht? ^^
Naja...wir wollen mal auf dem Boden bleiben. PHP ist eine Hochsprache, wenn Wowereit als bayrischer Ministerpraesident regiert
(Pseudo-)OOP alleine hat nichts mit Professionalitaet zu tun.
gepostet vor 17 Jahre, 3 Monate von knalli
Was hat eigentlich der Stacktrace prinzipiell mit "PHP's OOP" zu tun?
gepostet vor 17 Jahre, 3 Monate von TheUndeadable
> Was hat eigentlich der Stacktrace prinzipiell mit "PHP's OOP" zu tun?
Frage ich mich auch. Ob nun Methoden aufgerufen werden, oder Funktionen, das macht keinen großen Unterschied. Die Rücksprungadressen landen jeweils auf dem Stack...
Frage ich mich auch. Ob nun Methoden aufgerufen werden, oder Funktionen, das macht keinen großen Unterschied. Die Rücksprungadressen landen jeweils auf dem Stack...
gepostet vor 17 Jahre, 3 Monate von DrakeL
@Samson:
ich wüsste nicht was (bei PHP 5 zumindest) noch großartig Pseudo sein sollte. Es werden eigentlich alle OOP Features unterstützt, die es auch in Java gibt, mit Ausnahme von Polymorphie, das ist echt noch Pseudo, aber eher positiv:
Die Polymorphie ist in Java/C++ aber eher hinderlich, will ich 2 Zahlen addieren, muss ich 4 Methoden schreiben jeweils für int, long, double und float... was soll hier bitte schön elegant sein.
Und wenn man es so sehen will, sind Java und C++ auch keine OOP Sprachen. C++ erlaubt genau wie PHP die prozeduale Programmierung und Java besitzt keine Mehrfachvererbung.
Aber ich glaub, wenn wir hier jetzt noch weiter Diskutieren wird jemand sauer, gehört nämlich nicht zum Threadthema, kannst mich aber gern im ICQ Kontaktieren, dann diskutieren wir weiter ^^.
ich wüsste nicht was (bei PHP 5 zumindest) noch großartig Pseudo sein sollte. Es werden eigentlich alle OOP Features unterstützt, die es auch in Java gibt, mit Ausnahme von Polymorphie, das ist echt noch Pseudo, aber eher positiv:
Die Polymorphie ist in Java/C++ aber eher hinderlich, will ich 2 Zahlen addieren, muss ich 4 Methoden schreiben jeweils für int, long, double und float... was soll hier bitte schön elegant sein.
Und wenn man es so sehen will, sind Java und C++ auch keine OOP Sprachen. C++ erlaubt genau wie PHP die prozeduale Programmierung und Java besitzt keine Mehrfachvererbung.
Aber ich glaub, wenn wir hier jetzt noch weiter Diskutieren wird jemand sauer, gehört nämlich nicht zum Threadthema, kannst mich aber gern im ICQ Kontaktieren, dann diskutieren wir weiter ^^.
gepostet vor 17 Jahre, 3 Monate von Blabbo
ja genau, euer "oop-und-höhere-programmiersprachen-informatiker-klugscheisser"-geschwalle bitte aus meinem schönen thread rauslassen
gepostet vor 17 Jahre, 3 Monate von Drezil
Original von DrakeL
Die Polymorphie ist in Java/C++ aber eher hinderlich, will ich 2 Zahlen addieren, muss ich 4 Methoden schreiben jeweils für int, long, double und float... was soll hier bitte schön elegant sein.
template Myclass Myclass:perator+(const Myclass &var) {
Myclass ret(number + var.number);
return ret;
}
vorrausgesetzt Myclass.number ist die zu addierende Zahl.
Wo muss ich das denn jetzt für jeden Datentyp neuschreiben? Im Gegenteil. Das Template ist sogar für jeden Datentyp definiert, der in irgendeiner weise ein + definiert hat (theoretisch könnte man ja auch strings mit + verknüpfen).
Java ist ne andere sache. Da steck ich grad nicht drin, wird aber auch "irgendwie" gehen. Aber Java stinkt eh.
gepostet vor 17 Jahre, 3 Monate von None
Das was du tust hat aber nichts mit direkter Polymorphie zu tun. Das ist Generik...
gepostet vor 17 Jahre, 3 Monate von TheUndeadable
> Die Polymorphie ist in Java/C++ aber eher hinderlich
Polymorphie ist nicht der Grund, sondern die strikte Typisierung....
Aber ist offtopic, daher mein letzter Beitrag zu dem Thema.
de.php.net/manual/de/function.debug-backtrace.php
Polymorphie ist nicht der Grund, sondern die strikte Typisierung....
Aber ist offtopic, daher mein letzter Beitrag zu dem Thema.
de.php.net/manual/de/function.debug-backtrace.php