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
$rootStartverzeichnis$denyverbotene Ordner$filetypeerlaubte Dateitypen$filesListe der gefundenen Dateien
-
Methoden
setRootlegt Startverzeichnis festdenyFolderlegt verbotene Ordner festsetFiletypelegt erlaubte Dateitypen feststartSearchstartet Suche und gibt$filesals Ergebnis zurückdoNavigateliest Verzeichnisse aussetFolderlegt aktuellen Ordner festcheckFolderüberprüft, ob der Ordner nicht verboten istsetFileschreibt die Informationen in$filecheckFileü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.