| | | | |
| | |
| PHP Code Flüsterer Registriert seit: 21.08.2005 Beiträge: 4682 PHP-Kenntnisse: Fortgeschritten | |
| | ||
| Moderator Registriert seit: 11.05.2008
Beiträge: 6.069
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Hallo! Zitat:
Zunaechst mal solltest du alle Methoden und Parameter der Klasse definieren, von mir aus kannst du also bereits ein Interface fuer die Formular-Klasse schreiben: PHP: Object Interfaces - Manual Abgesehen davon ist deine Implementierung bereits zweifelhaft. Ob er Name des Elementes leer ist, hat zunaechst mal die TextField-Klasse selbst zu ueberpruefen, nicht das Formular (abgesehen davon waere ein Leerzeichen ein gueltiger Name, was nicht der Fall ist). Anschliessend kann das Formular den Namen erneut gegenpruefen, um z.B. doppelte Elementnamen abzulehnen. Ich finde es auch nicht gut, dass du mal FALSE zurueckwirfst, mal eine Exception verwendest. Die Uebergabe eines fehlerhaften Textfeldes ist in meinen Augen immer eine Ausnahme, im Normalfall sollte ein Formular fehlerfrei erzeugt werden! Abgesehen davon gibt es bereits Typehints, d.h. dein Test auf instanceof ist unnoetig und unperformant: PHP: Type Hinting - Manual Zu Unittests kann man eine ganze Menge schreiben, wichtig ist, dass du die Grenzfaelle erkennst und entsprechend kombiniert aufstellst, z.B. mit einem orthogonalen Array, das wird vermutlich aber erst wichtig, wenn du Validatoren und Filter in deine Formular-Klasse integrierst. PS: addTextField() ist eine Setter-Methode, ein Rueckgabewert fuer Setter-Methoden ist nicht ueblich!
__________________ "Nuschel ich?" - "Was?" | |
| |
| | |
| Moderator Registriert seit: 11.05.2008
Beiträge: 6.069
![]() ![]() ![]() ![]() ![]() ![]() ![]() | Nein, du ueberpruefst ja nicht Variablen im freien Fluss, zumindest selten, sondern direkt hinter den Schnittstellen! Sonst muesste ja vor jedem Aufruf eine Zusicherung stehen, bei mehrfachem Aufruf ja auch die Zusicherung mehrfach. Das ist unhandlich. Da prueft man doch lieber dort, wo letztlich eh alles landet, direkt am Anfang einer Methode/Funktion. Es gibt ja nach DbC folgende "Pruefkategorien": Vor-Bedingung (valide Eingabewerte sicherstellen) Nach-Bedingung (valide Ausgabewert sicherstellen) Invarianz (Zwischenwerte pruefen - z.B. vor einer Division den Nenner != 0 testen) Schleifeninvarianz (Schleifenabbruchbedingung sicherstellen) Invarianz wird soweit ich weiss relativ selten verwendet, sonst koennte man schliesslich alles testen. Abgesehen davon ist ja DbC hier erstmal garnicht gefragt, weil das ja mehr ein Unittest in der Klasse selbst ist. DbC wuerde ich bei Unittests erstmal ausklammern (assert_options(ASSERT_ACTIVE, 0), wenn assert() nun nur String-Ausdruecke uebergeben wurden, drueckt das nichtmal sonderlich auf die Performance), im Produktivbetrieb wird sowieso eher auf Defensive-Design gesetzt (Fehler nicht erkennen, sondern korrigieren, z.B. bei ungueltigem Feldnamen einfach einen automatischen gueltigen zuordnen, ob das spaeter nicht andere Fehler provoziert sei mal dahingestellt). Insofern sollte man den Test also dort ansetzen, wo er (aus Sicht der Klasse) entsteht (setter), oder dort wo er zuerst Probleme bereitet (getter).
__________________ "Nuschel ich?" - "Was?" |
| |
| | |||
| moderatives Dielektrikum Registriert seit: 21.05.2008
Beiträge: 34.241
PHP-Kenntnisse: Fortgeschritten ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Sicher, das ist hier nicht das Thema. Deshalb [OT] Zitat:
Zitat:
__________________ -- 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 |
| PHP: Formular Generator | Zergling-new | Tutorials | 16 | 06.07.2010 03:14 |
| [Erledigt] Kontaktformular bitte mal im FF, IE und Opera testen | litterauspirna | Off-Topic Diskussionen | 5 | 13.06.2009 19:52 |
| PDF Formular ausfüllen mit PHP Formular | oomworld | PHP Tipps 2009 | 1 | 26.03.2009 19:09 |
| Wie würdet ihr das Formular submitten? | pras | Datenbanken | 5 | 05.03.2009 21:33 |
| [Erledigt] Formular auf Inhalt prüfen Formular auf Inhalt prüfen und Abfrage an MySQL | halekin | PHP Tipps 2009 | 3 | 13.01.2009 21:17 |
| Problem mit Formular, Daten an datenbank senden | Aurec | PHP Tipps 2008 | 11 | 20.11.2008 18:17 |
| Wert aus Textfeld in neues Formular übernehmen (kein Submit) | PsychoEagle | HTML, Usability und Barrierefreiheit | 9 | 02.01.2007 14:51 |
| formular includen | samspa5 | PHP Tipps 2006 | 13 | 18.03.2006 11:37 |
| [Erledigt] Formular in Formular | HTML, Usability und Barrierefreiheit | 4 | 19.10.2005 12:18 | |
| [Erledigt] Formular testen .... | HTML, Usability und Barrierefreiheit | 7 | 19.09.2005 14:03 | |
| [Erledigt] PHP Formular ~~wichtig~~ | PHP Tipps 2005 | 27 | 29.05.2005 19:38 | |
| [Erledigt] Im Formular user abfragen? | Datenbanken | 3 | 06.01.2005 10:51 | |
| [Erledigt] Daten in einem Formular ausgeben und ändern | PHP Tipps 2004-2 | 7 | 07.12.2004 17:22 | |
| Brauche PHP Formular | Beitragsarchiv | 9 | 16.08.2004 16:23 | |
| [Erledigt] Daten in neuem Formular anzeigen | PHP Tipps 2004 | 6 | 21.07.2004 10:44 | |
| Besucher kamen über folgende Suchanfragen bei Google auf diese Seite |
| php formulardaten prüfen, php formularfelder prüfen, formular mit php überprüfen, formulardaten prüfen php, phpunit datenbank, php formulare prüfen, php formulardaten überprüfen, formular testen, formulardaten überprüfen php, php formularfeld prüfen, formularfelder prüfen php, formular testen php, php formular testen, phpunit formular testen, formular php testen, phpunit formulare testen, phpunit getter setter, phpunit formular test, php formularfelder überprüfen, formulare überprüfen php |