OOP mit PHP5 - Einstiegstutorial 1 - Zusammenfassung
1. Die Abschnitte
- Überlegungen
- Festlegen der Eigenschaften
- Einleiten der Startsequenz
- Die Navigation
- Durchlaufen der Ordner
- Erfassung der Dateien
- Zusammenfassung
2. Das bisher Erlernte
Ich hoffe, ihr habt hier schon ein wenig über objektorientierte Programmierung gelernt. Auch wenn das hier nur der allererste Schritt war. Darum fasse ich hier noch mal all die Dinge zusammen, die mir wichtig waren.
3. Die Eigenschaften
Anhand einiger Beispiele habt ihr sicher erkannt, dass die Eigenschaften einer Klasse in allen Methoden verfügbar sind. Auch nach einer Änderung der Werte. Allerdings ist das so eine Sache und hat nicht unbedingt etwas mit objektorientierter Programmierung zu tun. Aber darauf werde ich (viel) später eingehen.
Wann definiert man eine Variable als Eigenschaft einer Klasse?
Ich will das jetzt mal ganz einfach ausdrücken. Wenn der Wert einer Variable von mehreren Methoden aufruf - und beeinflussbar sein soll. Und wenn diese Variable Einfluss auf dem Zustand eines Objektes hat. Und wenn man ggf. den Wert außerhalb der Klasse anpassen möchte. Alle anderen Variablen dienen nur der Verarbeitung innerhalb von einzelnen(!) Methoden.
Warum haben wir die Sichtbarkeit aller Eigenschaften dieses Beispiels als private
festgelegt?
Damit der Nutzer dieser Klasse nur die absolut notwendigen Anpassungen vornehmen kann! Und dies auch nur, wenn das über die
vorgegebenen Methoden möglich ist. So kann man zum Beispiel $files
außerhalb der Klasse nicht beeinflussen, da
es dafür keine Methode gibt.
Ein Hinweis
Über die Sichtbarkeitsstufen von Eigenschaften gibt es geteilte Meinungen. Etliche Programmierer bevorzugen eine eher offene Sichtbarkeitsstufe, Kapselungsfanatiker wie ich schirmen dagegen alles so weit wie möglich ab, was nicht bei drei auf den Bäumen ist. Beide Vorgehensweisen haben ihre Vor- und Nachteile. Eine optimale Lösung gibt es leider nicht. Entscheidet also selber, wie ihr vorgeht.
4. Methoden
Wann legt man eine Methode als public
und wann als private fest?
In diesem(!) Beispiel gelten die folgenden Regeln. Wenn man außerhalb einer Klasse Einfluss nehmen möchte, so legt man die
entsprechenden Methoden als public
fest. Alles andere, was die interne Verarbeitung angeht,
wird als private
definiert. Sollte man zum Beispiel die interne Verarbeitung der Klasse ändern, so merkt der
Nutzer nichts davon. Und das werden wir im zweiten Tutorial dann auch machen.
Warum heißen die Parameter $file
und $folder
, obwohl bei den Methoden dasselbe gemeint ist?
Bei den Methoden setFolder
, checkFolder
, setFile
und checkFiletype
heißen
die Parameter der Methoden mal $folder
und mal $file
. In allen Fällen handelt es sich dabei aber
um ein und dasselbe. Warum denn unterschiedliche Namen dafür? Nun, Namen sind Schall und Rauch. Es ist völlig egal, wie die
Parameter der Methoden heißen, solange sie korrekt übergeben werden.
Was soll dieses $var
in diversen Methoden bedeuten?
Siehe oben. Das ist das Selbe, nur in grün. Wie der Parameter heißt, ist völlig egal.
5. Kritik, Anregungen, Fragen
Falls euch obiges auf dem Herzen liegt, so schickt mir doch bitte eine Mail mit einer genauen Erklärung, was euch stört. Ich werde dann ggf. die entsprechenden Anpassungen vornehmen.
Aber bitte arbeitet vorher noch die anderen Tutorials durch. Dann erkennt ihr vielleicht das didaktische Gesamtkonzept. Auch wenn ich jetzt wie Lehrer rede, der sein Staatsexamen in den 70ern abgelegt hat.