php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 01.03.2007, 15:23  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ist echt komisch.
wenns unbedingt ne funktion sein soll geht vll. das:
PHP-Code:
set_error_handler('errorHandler');

/**
* Error-Handler
* @param int $errLvl Fehlerstufe
* @param string $errMsg Fehlermeldung
* @param string $errFile Skript das den Fehler ausgelöst hat
* @param int $errLine Zeile in der der Fehler ausgelöst wurde
*/
function errorHandler($errLvl$errMsg$errFile$errLine) {
    
$string $errLvl.','.$errMsg.','.$errFile.','.$errLine;
    return 
$string;
}
require_once 
'klassen/errorhandle.class.php';

new 
errorHandleerrorHandler($errLvl$errMsg$errFile$errLine); ); 
wobei das absoluter schwachsinn ist! bastel dir lieber ein _construct in die klasse.

nach längerem nachdenken versteh ich das auch nicht:
set_error_handler('errorHandler');
geht das überhaupt?

//EDIT:
wenn du php5 zur verfügung hast dann schreib dir doch ne exception klasse. oder mach sowas:
PHP-Code:
class CustomException extends Exception {
  public static function 
errorHandlerCallback($code$string$file$line$context) {
   
$e = new self($string$code);
   
$e->line $line;
   
$e->file $file;
   throw 
$e;
  }
}
set_error_handler(array("CustomException""errorHandlerCallback"), E_ALL); 
E_ALL scheint wichtig zu sein

//EDIT2:
eigentlich alles schwachsinn
auf http://de.php.net/set_error_handler sind genügend beispiele vorhanden die funktionieren. beispielsweise mit ner textdatei als errorlog
http://de.php.net/manual/de/function...dler.php#65805
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 01.03.2007, 17:11  
Benutzer
 
Registriert seit: 24.11.2005
Beiträge: 65
250Euro
Standard

Also das mit der Klassendefinition in der Funktion funktioniert bei mir zu Hause so wies soll. Komischerweise funktioniert das ganze jetzt auch wieder auf dem Server. Es hatte auch vorher schonmal funktioniert.

Andre Frage: Wieso ist es komisch eine Klasse in einer Funktion zu definieren?
250Euro ist offline  
Alt 01.03.2007, 17:20  
Erfahrener Benutzer
 
Registriert seit: 13.08.2007
Beiträge: 1.976
KingCrunch befindet sich auf einem aufstrebenden Ast
KingCrunch eine Nachricht über ICQ schicken KingCrunch eine Nachricht über AIM schicken KingCrunch eine Nachricht über MSN schicken KingCrunch eine Nachricht über Yahoo! schicken
Standard

Weil eine Funktion eine Funktion ist und eine Klasse ist eine Klasse. Du baust ja auch kein Auto in einem Linienbus

Ich stör mich nen bissel an der Zeile
PHP-Code:
new errorHandleerrorHandler($errLvl$errMsg$errFile$errLine); ); 
Du erstellst ein Objekt, fängst es aber nicht ab. Is irgendwie ... sinnleer ^^ Ob das aber der Fehler sein mag, weiß ich nich :X
__________________
Nicht jeder Fehler ist ein Bug.
KingCrunch ist offline  
Alt 01.03.2007, 18:09  
Benutzer
 
Registriert seit: 24.11.2005
Beiträge: 65
250Euro
Standard

ähm das:
PHP-Code:
<?php new errorHandleerrorHandler($errLvl$errMsg$errFile$errLine); );
hab ich aber gar nicht geschrieben.

Aber is ist doch wiederrum Schwachsinn einen Klasse immer zu definieren, auch wenn man sie nur manchmal braucht, oder?
MfG
250Euro ist offline  
Alt 01.03.2007, 22:28  
Erfahrener Benutzer
 
Benutzerbild von phpdummi
 
Registriert seit: 06.06.2008
Beiträge: 1.631
PHP-Kenntnisse:
Anfänger
phpdummi ist zur Zeit noch ein unbeschriebenes Blatt
Standard

"einmal braucht" man sie ja nicht
bei jedem script aufruf wirds neu aufgerufen. einmalige angelegenheiten kann mann allerdings per define(); festlegen.

ich schreib morgen nochmal ausführlicher was dazu.
meiner ansicht nach ist es jedoch besser eine ausführlichere exception klasse zu schreiben und ein-/übergabevariabeln ordentlich zu prüfen und darauf zu reagieren.

wenn es bloß um die bessere anzeige von z.b syntax fehlern während des programmierens geht hatte ich mal ne super lösung dafür, aber wie gesagt das dann morgen
__________________
"Nobody is as smart as everybody" - Kevin Kelly
— The best things in life aren't things
phpdummi 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
Programmfehler PHP Tipps 2004 21 06.06.2004 22:38


Alle Zeitangaben in WEZ +2. Es ist jetzt 18:34 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.