![]() |
|
|
Themen-Optionen |
|
|
Nach oben #1 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
Ich fang grade mit OOP an und habe hier mal meine erste Klasse zur Prüfung einer Eingabe eines Formulars geschrieben.
Meine Frage: Ist dies überhaupt sinnvoll solche Überprüfungen in Form von Klassen zu realisieren? Wenn ja, ist an der unten stehenden Klasse was auszusetzen? OOP ist nicht gerade einfach zu verstehen wenn man gerade anfängt. Ich habe jede Menge Tutorials mehrmals gelesen und es immernoch nicht so richtig verstanden. PHP-Code:
Wenn es nicht sinnvoll ist solche Prüfungen in Klassen zu realisieren, was ist dann sinnvoll? Jedesmal den code in die neue Seite einbinden ist auch blöd find ich. Danke schonmal für eure Anregungen.
__________________
Wer später bremst, fährt länger schnell... Geändert von Doggi (30.01.2006 um 15:09 Uhr). |
|
|
|
|
|
Nach oben #2 |
|
Corvin Gröning
Registriert seit: 19.03.2005
Ort: S-H | Flensburg
Beiträge: 449
|
Falls du mit PHP5 arbeitest, solltest du die Zugriffsspezifizierer (anstelle von var und vor function) verwenden.
http://www.php.net/manual/de/languag...visibility.php
__________________
|
|
|
|
|
|
Nach oben #3 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
danke, werds mir mal durchlesen. dachte das gilt nur für php5 und da das nicht auf jedem server läuft dachte ich einfach, ich lass es weg
__________________
Wer später bremst, fährt länger schnell... Geändert von Doggi (30.01.2006 um 15:23 Uhr). |
|
|
|
|
|
Nach oben #6 | |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
ZITAT:
Zitat:
was ändert sich eigentlich wenn ich checkPlz auf private oder protected setze? ist dann die Methode nur innerhalb Klasse aufrufbar? (vielleicht blöd formuliert) ist dann die Methode nicht direkt vom script abrufbar? wenn checkPlz nun private wäre, würde dann ein PHP-Code:
aber ein... PHP-Code:
__________________
Wer später bremst, fährt länger schnell... |
|
|
|
|
|
|
Nach oben #7 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Nein.
Wenn eine Methode als private deklariert ist, dann kannst Du sie nur von innerhalb der Klasse aufrufen. Teste das mal aus .. Du wirst eine Fehlermeldung erhalten. Schau Dir das mal an .. ist gut, wenn man das mal gesehen hat. Zur Klasse an sich. Ich denke, dass eine Klasse Plz unnötig ist. So wirklich was passiert da ja auch nicht. Allerdings ist diese Aussage mit Vorsicht zu beachten, da ich ja gar nicht weiß, wie Du das alles organisiert hast. Grüße Ben. |
|
|
|
|
|
Nach oben #8 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
Ich werds gleich mal testen.
Zur Klasse. Ich bin grad am üben mit OOP und dachte mir, ich packe einfach alle Formularprüfungen und eine SQL-Injection-Schutz Klasse in eine class.php, die ich ja dann einfach überall einbinden kann ohne großartig den Code ändern zu müssen. Das war zumindest meine Überlegung. Ich möchte irgendwann ein eigenes Templatesystem basteln und da ist es doch praktisch wenn schon alles in Klassen vorhanden ist oder? //EDIT: Habs getestet. Allerdings konnte ich keinen Unterschied zwischen protected und private feststellen. beide werfen einen Fehler wenn man direkt zugreift. (soweit verstanden) es müsste doch innerhalb der klasse ein unterschied zwischen protected und private sein.
__________________
Wer später bremst, fährt länger schnell... Geändert von Doggi (30.01.2006 um 15:53 Uhr). |
|
|
|
|
|
Nach oben #10 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
Genau die Antwort hatte ich erwartet
//EDIT konkretisiert Ansonsten ist gegen eine Klassenlösung nichts auszusetzen? Etwa evtl. auftretende Performanceprobleme gegenüber normalen Funktionen oder Abragen innerhalb des Scriptes?
__________________
Wer später bremst, fährt länger schnell... Geändert von Doggi (30.01.2006 um 16:23 Uhr). |
|
|
|
|
|
Nach oben #11 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Ich denke mal, dass Du Dir keine allzu großen Gedanken über Performance machen solltest. Das ist bei kleinen Applikationen zunächst mal vernachlässigbar. Umso komplexer das System, desto wichtiger werden aber Benchmarks .. das ist klar. Aber zunächst einfach mal wegschieben.
Ich persönlich hätte jetzt so etwas hier gebaut ... ohne darüber nachzudenken. Wenn das Formular abgeschickt wurde wird die Methode validate() aufgerufen, welche dann intern alle möglichen Sachen überprüft. Ich hätte jetzt auch gar keine Klasse Plz gebaut, sondern das irgendwie in eine Validationsklasse integriert. Aber wie gesagt .. ich hab genau gar nicht darüber nachgedacht. Grüße Ben. |
|
|
|
|
|
Nach oben #12 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
Hmm... stimmt, man könnte alle Formularprüfungen in eine Klasse packen, allerdings ist diese Klasse dann nicht übertragbar auf andere Formulare.
Naja, da ich gerade am Anfang von OOP stehe, werd ich erstmal so weitermachen und für alles eine eigene Klasse basteln. Vielleicht kann man später noch optimieren oder zusammenfügen. THX a lot.
__________________
Wer später bremst, fährt länger schnell... |
|
|
|
|
|
Nach oben #14 |
|
Erfahrener Benutzer
Registriert seit: 26.10.2005
Ort: Basel
Beiträge: 115
|
wie hast du das mit den regeln gemacht?
sitze mal wieder dran. irgendwie finde ich immer fehler. strpos versuche ich gerade, aber der ignoriert im string meine Zeichen wie ":}{[]" escapen hab ich auch probiert. kein ergebnis. PHP-Code:
mit "," gehts.
__________________
Wer später bremst, fährt länger schnell... |
|
|
|
|
|
Nach oben #15 |
|
Erfahrener Benutzer
Registriert seit: 02.12.2004
Ort: Remagen
Beiträge: 4.619
|
Ich werde jetzt wahrscheinlich von unseren Spezis zerrissen, aber okay .. *gg* Meine nicht-fertige Formklasse PHP-Code:
|