- Ad -
php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Post your PHP questions here!

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #31 (permalink)  
Alt 01-07-2009, 23:51
unset
  Moderator
Links : Onlinestatus : unset ist offline
Registriert seit: Jan 2007
Ort: Düsseldorf
Beiträge: 3.778
unset befindet sich auf einem aufstrebenden Ast
Standard

Ich wollt's grade editieren. Das war mein Fehler. Da hab ich mal nur quergelesen und das "throw" im falschen Block gesehen :-) Trotzdem: Lies den von mir verlinkten Artikel. Verstehe, was Exceptions machen!
Mit Zitat antworten
  #32 (permalink)  
Alt 01-07-2009, 23:58
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von unset Beitrag anzeigen
Ich wollt's grade editieren. Das war mein Fehler. Da hab ich mal nur quergelesen und das "throw" im falschen Block gesehen :-) Trotzdem: Lies den von mir verlinkten Artikel. Verstehe, was Exceptions machen!
Danke
Den Artikel hatte ich damals bereits gelesen.
Lese aber gerne. Also ran da
Mit Zitat antworten
  #33 (permalink)  
Alt 02-07-2009, 00:09
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Sitzt der "fänger" jedoch nicht in der immer aktiven index.php, sondern in den einzelnen ActionView wie profil.php,
so muss für jede ActionView das ExceptionCatch Gerüst zum größten Teil kopiert werden..

Dazu: Gibt es auch eine Art Exception für Erfolgreiche vorgänge?
Jedoch mit additionsfunktion?
Sodass nicht direkt in den catch gesprungen, sondern gesammelt wird?
Ich benutze dafür eine seperate Klasse bislang.
Mit Zitat antworten
  #34 (permalink)  
Alt 02-07-2009, 00:11
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Wofür benutzt du deine separate Klasse? Gib mal ein echtes Beispiel.
Mit Zitat antworten
  #35 (permalink)  
Alt 02-07-2009, 00:18
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Wofür benutzt du deine separate Klasse? Gib mal ein echtes Beispiel.
Entschulding. Natürlich.

Also wenn z.B. ein User ein Bild uploaded, so bekommt er die positive Meldung, das es gespeichert wurde.
Hat er das Bild nun als Profilfoto upgeloaded, so bekommt er die positive Meldung, dass das bild gespeichert wurde UND in der selben Meldung darunter noch die Zusatzvermerkung, dass es nun als Profilfoto gespeichert wurde.

Bei jedem Erfolgreichem Durchlauf der Aktionen speichern bestimmte Klassenmdethoden positive Meldungen, welche der User Empfangen soll.
Diese addieren sich ggf. (falls mehrere mal vorhanden sind, was auch vorkommt!) und werden wie gesagt zusammen ausgegeben.
Mit Zitat antworten
  #36 (permalink)  
Alt 02-07-2009, 00:37
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Das sind keine Ausnahmen. Es ist nichts unvorhergesehenes passiert, so dass das Programm nicht weiter machen kann.
Das sind einfache Mitteilungen an den Benutzer.

Wenn man schön EVA macht, kann man während des E und V alle Meldungen sammeln und beim A anzeigen.
Dir dient die separate Klasse als Körbchen zum Sammeln. Super.
Aber wo erzeugst du die Ausgabe? Laut Bild in der class.user.php und das ist Mist.

Ich bin jetzt gedanklich wieder da, wo ich schon vor vielen Beiträgen war: class.user.php ist ein Model und als solches hat es keine Ausgaben zu machen.
Das letzte Mal hatte ich dazu einen Link zum Exceptions-Manual gegeben. Von Formularen und Validierung war in dem Bild nämlich nichts zu sehen.


Ich denke wir sollten uns nicht weiter an deinem Bild festhalten. Mach mal hübsches UML draus, dann verstehen wir uns besser.

Geändert von onemorenerd (02-07-2009 um 00:41 Uhr)
Mit Zitat antworten
  #37 (permalink)  
Alt 02-07-2009, 00:46
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Nein.
Also die Ausgabe findet in der Action/view statt.
Also in der profil.php und nicht in der class.

Eine Klasse darf höchstens eine Nachticht zum sammeln abgeben, gezeigt wird aber von der view aus.

Zu den Exceptions:
EDIT: Man braucht garnicht vererben.
Das finde ich super.

Geändert von phpMorpheus2 (02-07-2009 um 00:57 Uhr)
Mit Zitat antworten
  #38 (permalink)  
Alt 02-07-2009, 01:33
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Zitat von onemorenerd Beitrag anzeigen
Das sind keine Ausnahmen. Es ist nichts unvorhergesehenes passiert, so dass das Programm nicht weiter machen kann.
Ist es denn auch "untersagt",
eine Exception zu werfen und auszugeben,
wenn z.B. der User ein Feld im Formular falsch oder garnicht ausgefüllt hat?
Das ist zwar "unerwartet", aber ich glaube nicht das es Status für eine Exception kriegt, oder doch?

Ich würde bei einer mehrfachvalidierung von z.B. Feldern eine extra Exception Klasse bauen welche
die Fehler nach und nach aufnimmt und zum schluss würde ich eine richtige Exception werfen welche
die Array der Fehler mitbekommt. ?!

Geändert von phpMorpheus2 (02-07-2009 um 01:58 Uhr)
Mit Zitat antworten
  #39 (permalink)  
Alt 02-07-2009, 02:59
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.481
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Untersagt ist es nicht, aber unschön. Was genau erhoffst du dir davon? Wo siehst du einen Vorteil?
Ich sehe zumindest einen Nachteil: Das
Zitat:
eine extra Exception Klasse bauen welche die Fehler nach und nach aufnimmt und zum schluss würde ich eine richtige Exception werfen welche die Array der Fehler mitbekommt
wird Gemurkse. Du musst ja stets zwischen Fehlermeldungen und echten Ausnahmen unterscheiden. Und zwar nicht nur in dem Catcher, der die Fehlermeldungen sammeln soll, sondern auch in jedem catch(Exception $e) zwischen throw und diesem. Das blickt am Ende keiner mehr.
Außerdem zwingt es dich, die Validatoren so atomar wie möglich zu machen. Jeder darf nur einen Test machen. Denn schlägt der fehl, wirfst du eine Exception, landest im Catcher und kannst nicht wieder zur Validierung "zurück springen". Um weitere Tests auszuführen muss die ganze Validierung irgendwie vom Catcher aus gesteuert werden ... da stellen sich bei mir die Nackenhaare auf!
Mit Zitat antworten
  #40 (permalink)  
Alt 02-07-2009, 03:11
phpMorpheus2
 Registrierter Benutzer
Links : Onlinestatus : phpMorpheus2 ist offline
Registriert seit: Apr 2007
Beiträge: 646
Blog-Einträge: 2
phpMorpheus2 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ja, ich habe nun versucht in einem Kopie meines Projektes die Exceptions einzubauen und ich hab grad echt keine Lust mehr, das ist Kraut mit Rüben geworden. Da geht garnichts mehr.

Da arbeite ich lieber wieder ohne Exceptions, weil ich einfach die Rückgabewerte jeder Funktion benötige.

Mit Exceptions ist das nicht gegeben und vor allem ist es nervig dauernd im catcher zu landen.

Da mach ich mir nicht die Mühe, nun auchnoch zwischen Fehlermeldungen zu unterscheiden ob nun positiv, nagativ, neutral und wenn ja, als exception oder nicht und wenn als exception, wo kommt der block hin und was muss und soll alles im Try stehen.

Da hab ich am Ende mehr Arbeit mit. Nö nö
Darum habe ich immer die Finger von Exceptions gelassen.

Vll. in nem andern Quartal nochmal versuchen.
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Mehrfachvererbung? webdepp PHP Developer Forum 5 18-04-2009 18:42
[OOP] Class not found 8 extends ) GELight PHP Developer Forum 9 20-09-2008 22:47
oop class extends vererbung / referenz Ichier PHP Developer Forum 20 01-11-2007 14:22
Klassen ohne extends verknüpfen (PHP 4) Kathal PHP Developer Forum 16 12-06-2007 10:36
[OOP] double extends? BloodReaver PHP Developer Forum 3 15-07-2004 17:10

Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre 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


PHP News

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

EM 2012 Tipp-Spiel ansehen EM 2012 Tipp-Spiel

Online Tipp-Spiel zur Fussball Europameisterschaft 2012, basierend auf php-Script mit hinterlegter mySql-Datenbank

27.05.2012 tippimnetz | Kategorie: PHP/ Spiele
Advanced Login ansehen Advanced Login

Login-System und Kundenverwaltung, die sich spielend leicht in bestehende Webseiten einbauen lässt und einen enormen Funktionsumfang bietet. Ihre eigene Webseite muss mit Advanced Login nicht umständlich an ein fertiges System angepasst werden.

25.05.2012 Madden | Kategorie: PHP/ Kundenverwaltung
BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:55 Uhr.