OOP mit PHP5 - Einstiegstutorial 1 - Überlegungen
1. Die Abschnitte
- Überlegungen
- Festlegen der Eigenschaften
- Einleiten der Startsequenz
- Die Navigation
- Durchlaufen der Ordner
- Erfassung der Dateien
- Zusammenfassung
2. Funktionalitäten
Bevor wir loslegen, wollen wir uns erst fragen, was unsere Klasse leisten soll. Also, das Ziel ist, Dateien rekursiv aus einem vorgegebenen Startordner heraus auslesen. Um diese Klasse für mehrere Aufgaben nutzen zu können, sollte sie möglichst flexibel sein. Also legen wir folgende Einstellungsmöglichkeiten fest.
- Festlegen des Startverzeichnisses
- Festlegen von Ordnern, deren Inhalte nicht erfasst werden sollen
- Festlegen der zu erfassenden Dateitypen
3. Der Rückgabewert
Als Ergebnis möchten wir ein mehrdimensionales, assoziatives Array zurückgeben, das folgende Informationen über die Dateien beinhaltet.
- den Pfad
- den Dateinamen (logisch, oder?)
- die Dateigröße
- Datum der letzten Änderung
Dieses Array soll außerdem alphabetisch absteigend sortiert sein, und zwar sowohl nach Ordnern als auch Dateinamen. Man weiß nie, wofür man das mal braucht.
4. Die Eigenschaften und Methoden
Aus den oben aufgeführten Voraussetzungen könnte unsere Klasse zum Beispiel so aufgebaut sein.
-
Eigenschaften
$root
Startverzeichnis$deny
verbotene Ordner$filetype
erlaubte Dateitypen$files
Liste der gefundenen Dateien
-
Methoden
setRoot
legt Startverzeichnis festdenyFolder
legt verbotene Ordner festsetFiletype
legt erlaubte Dateitypen feststartSearch
startet Suche und gibt$files
als Ergebnis zurückdoNavigate
liest Verzeichnisse aussetFolder
legt aktuellen Ordner festcheckFolder
überprüft, ob der Ordner nicht verboten istsetFile
schreibt die Informationen in$file
checkFile
überprüft auf gewünschten Dateityp hin
5. Vorarbeit
Legt jetzt mal einen Ordner im Root-Verzeichnis an und haut da einfach mal irgendwelche Dateien und Unterordner rein. Wem
nichts Vernünftiges einfällt, soll einfach seine Porno-Sammlung nehmen. Legt dann ebenfalls im Wurzelverzeichnis eine Datei
namens Dir.class.php
an. Und jetzt geht es los.