php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 20.01.2007, 17:04  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 243
mAy^daY
Standard Name der aufrufenden Funktion

Hallo, ich habe eigentlich fast in allen Klassen eine Funktion zu Fehlerbehandlung eingebaut. Jetzt stellt sich mir ab und zu das Problem das einige Fehler den gleichen Fehlertext erzeugen.
Jetzt die Frage, gibt es eine Möglichkeit die Funktion welche die Fehlerausgabe aufgrufen hat anzugeben?

Hier noch ein Beispiel damit es vielleicht verständlicher wird:
PHP-Code:
class blubb {

  function 
do_that() {
  
// ...
  
if (!$erfolgreich) { $this->fehler("Fehler XY ist aufgetreten."); return false; }
  
// ...
  
}


Optimal wäre die Ausgabe wenn noch der Name der aufrufenden Funktion ausgegeben werden könnte. Sollte dann in etwa so aussehen: "do_that meldet: Fehler XY ist aufgetreten."

Hoffe das war einigermaßen gut erklärt. Gruß mAy
mAy^daY ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 20.01.2007, 17:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

über debug_backtrace() solltest du auf alles zugreifen können, was du benötigst.
nikosch ist offline  
Alt 20.01.2007, 17:14  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Schreibs doch einfach in den Text rein!
Flor1an ist offline  
Alt 20.01.2007, 17:21  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Oder Du erweiterst den Aufruf $this->fehler("Fehler XY ist aufgetreten.") um einen Parameter, in dem Du __FUNCTION__ übergibst.
nikosch ist offline  
Alt 20.01.2007, 17:28  
Erfahrener Benutzer
 
Registriert seit: 23.12.2003
Beiträge: 243
mAy^daY
Standard

Super debug_backtrace() hilft mir weiter, Danke!

Zitat:
Zitat von Razor
Schreibs doch einfach in den Text rein!
Das wäre viel Aufwand jede Meldung zu ersetzen, mit __FUNCTION__ kann ich einfach die "suche/ersetze" Funktion meines Editors nutzen.

Thx euch Beiden.
mAy^daY ist offline  
Alt 20.01.2007, 22:55  
Moderator und Wett-König
 
Benutzerbild von dr.e.
 
Registriert seit: 21.05.2008
Beiträge: 3.657
PHP-Kenntnisse:
Fortgeschritten
dr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblickdr.e. ist ein Lichtblick
dr.e. eine Nachricht über Skype™ schicken
Standard

Hallo mAy^daY,

> ich habe eigentlich fast in allen Klassen eine Funktion zu Fehlerbehandlung eingebaut
Das ist ja grausam. Wozu gibt es denn bitte Vererbung? Definiere einfach eine abstrakte Klasse, von der alle deine konkreten Klassen erben. Dann brauchst du das nicht zig Mal zu ändern, wenn du an deinem Error-Handler etwas ändern möchtest. Die aktuelle Klasse bekommst du dann immer mit get_class($this) und kannst eine Meldung á la

PHP-Code:

function __displayError($message){
   
trigger_error('['.get_class($this).'::'.__FUNCTION__.'()] '.$message);
}
?> 
generieren.


Grüße,
Dr.E..
__________________
Viele Grüße,
Dr.E.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
1. Think about software design before you start to write code!
2. Discuss and review it together with experts!
3. Choose good tools (-> Adventure PHP Framework (APF))!
4. Write clean and reusable software only!
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
dr.e. ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Parsen von Delimitern Basti Tutorials 0 30.09.2006 21:24
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Funktion "function name(...);" löschen/überschreib PHP Tipps 2004 2 01.09.2004 14:57
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
[Erledigt] Funktion MAIL() funkt nicht PHP Tipps 2004 16 11.07.2004 17:25

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php name der funktion, php function name, php name der aufrufenden funktion, php name funktion, php aufrufende funktion, http://www.php.de/php-tipps-2007/43295-name-der-aufrufenden-funktion.html, php aufrufendes programm, php name der aktuellen funktion, name der funktion php, funktionen name php, php namen einer funktion, aufrufende funktion php, php funktionen mit gleichem namen, php name einer funktion, php funktion namensgebung, php funktions namen, php aufrufende klasse, php eine funktion zwei namen, wiederaufrufende funktion, javascript aufrufende funktion

Alle Zeitangaben in WEZ +2. Es ist jetzt 15:40 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.