| | | | |
| |||||||
| Software-Design Diskussionen auf Profi-Niveau: PHP Lösungen auf konzeptioneller Ebene |
|
| | LinkBack | Themen-Optionen | Thema bewerten |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | |||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Dein Beispiel belegt gut meine Aussage: Zitat:
Zitat:
Code: Rückgabe = Funktion (Eingabe, Eingabe);
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- | ||
| | |
| | |
| Neuer Benutzer Registriert seit: 23.07.2010
Beiträge: 6
PHP-Kenntnisse: Anfänger ![]() | Hmmm ... ich bin noch nicht ganz erleuchtet. Folgendes konstruiertes Beispiel. Ich habe eine Klasse Person, instanziere mir zwei Objekte und lasse sie einander heiraten. Jetzt kann die Aktion schief gehen, weil eine Person bereits verheiratet oder Minderjährig ist. Die Methode "marriageAllowed($person1, $person2)" ist der einfachheit her eine Methode der Person und prüft ob eine heirat möglich ist. Diese prüft auf Alter und bereits verheiratet. Jetzt würde sich bei mir die Frage der Rückgabe stellen. Wenn ich mir jetzt Eure Antworten durchlese, müsste ich am elegantesten ich die Methode "marriageAllowed()" atomarisieren in zwei Methoden "isOldEnoughToMarry($date)" und "isMarried($person)" die jeweils true/false zurückgeben. In der Methode marriageAllowed() versuch ich die beiden Funktionen nacheinander mit zu prüfen und im Fehlerfall schmeiße ich eine Exception, oder? etwa so (sehr vereinfacht PHP-Code: |
| | |
| | ||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | 1. solltest Du das nicht statisch machen 2. solltest Du PHP5-gerecht arbeiten und Sichtbarkeiten definieren 3. Zitat:
Für das Beispiel böte sich allerdings auf jeden Fall an: PHP-Code:
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- | |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 30.07.2008
Beiträge: 1.129
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | Bei dem Fall oben hat es sich bewährt, alle Prüfungen durchzuführen und die Fehler in einer Klassenvariable quasi zu sammeln. Die Funktion selber gibt einen boolschen Wert zurück. Die aufgetretenen Fehler holt man sich dann ggf. über eine Extra-Funktion. Hier sind Exceptions ungeeignet, da Du dann immer nur einen Fehler bekommst, auch wenn vielleicht mehrere vorhanden sind. Wobei das von Nikosch auch nicht schlecht ist. Hier könnte man, wenn das geht, der Exception als Message ein Array mit Fehlern übergeben. Allerdings würde das das Problem nur in die Funktion marry verlagern. |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Fehlerspeicher haben imho immer das Problem, dass sie nicht zwingend mit dem aktuellen Sttaus des Objekts synchron sind. Die muss man resetten etc.
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
| | |
| Erfahrener Benutzer Registriert seit: 30.07.2008
Beiträge: 1.129
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() | Das ist klar. Aber wie wolltest Du hier dem Benutzer alle Fehler, die aufgetreten sind, auf einmal präsentieren? Bei jedem Versuch des Benutzers, bei dem etwas falsch ist, lediglich eine Fehlermeldung ausgeben zu können, kann etwas nervig werden, wenn es mehrere sind.. |
| | |
| | |
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.255
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Auch das kommt auf den Anwendungsfall an. Nicht immer ist die Warum-Information wichtig. Und auch nicht immer steckt ein Dialog mit einem Benutzer hinter solchen Prüfungen.
__________________ -- One pixel is still too big. Please make it smaller. ASAP. Initiative Mittelstand. Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers. -- |
| | |
|
| Themen-Optionen | |
| Thema bewerten | |
|
|
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [Erledigt] Zip Archive mit PHP erstellen - Kein Fehler, aber ZIP Archiv ist nicht da | robat | PHP Tipps 2010 | 34 | 09.03.2011 20:17 |
| Funktion rename() auf USB-Festplatten bringt Fehler | Wing | PHP Tipps 2010 | 13 | 16.07.2010 23:00 |
| MySQL: Fehler 10046 keine Datenbank ausgewählt | aschunk | Datenbanken | 5 | 22.04.2010 12:27 |
| [Erledigt] Syntax Error - Wo ist der Fehler? | Extremefall | PHP Tipps 2009 | 5 | 14.12.2009 17:46 |
| [Erledigt] vista, windows update Fehler 80070422 | Screeze | Off-Topic Diskussionen | 3 | 23.09.2009 18:24 |
| [Erledigt] Fehler bei Array ausgabe | newWorldOrder | PHP Tipps 2009 | 2 | 23.02.2009 17:29 |
| Include fehler abfangen? | fadass | PHP Tipps 2005-2 | 16 | 23.12.2008 13:07 |
| Frage: Suche Fehler in diesem Script... | PHP Tipps 2005-2 | 14 | 25.10.2005 19:24 | |
| [Erledigt] [phpmailer] - SMTP Fehler: Die folgenden Empfänger sind ... | PHP Tipps 2005-2 | 1 | 05.10.2005 15:19 | |
| Seite wird nicht angezeigt, untersch. Fehler bei IE/FF/Safar | PHP-Fortgeschrittene | 19 | 31.05.2005 14:52 | |
| Blöder MySQL Fehler | PHP Tipps 2005 | 3 | 15.05.2005 03:14 | |
| Fehlermeldung - aber kein fehler... | Tschuu | HTML, Usability und Barrierefreiheit | 16 | 14.03.2005 15:56 |
| [Erledigt] Wo liegt der fehler?? | PHP-Fortgeschrittene | 5 | 22.12.2004 09:54 | |
| array_push nur in begrenzter Anzahl ausführen ? | PHP Tipps 2004 | 2 | 07.09.2004 09:05 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| funktion rückgabe, anwendungsbereite php kenntnisse, reagieren bei fehlern, airobix |