Hi!
Wenn ich mir das so überlege, würde ich aber in fast allen Programmiersprachen, die ich kann, die Überprüfung von Bezeichnern nach Möglichkeit bereits beim Einlesen durchzuführen. Vielleicht ist das einfach nur schlechter Stil von mir, aber die Daten, die ich bekomme, teste ich so schnell wie möglich auf Korrektheit bzw. mache sie evtl. unschädlich.
Eine (Datenintegritäts-)Überprüfung ist was anderes als die Behandlung für ein spezifisches Ausgabemedium. Wenn du gleich am Eingang für ein bestimmtes Ausgabemedium Veränderungen vornimmst, sind die Daten für andere Anwendungsfälle oftmals unbrauchbar. Siehe das Magic-Quotes-Feature von PHP. Gut gemeint maskiert es sämtliche Eingabedaten für SQL-Statments, nur kann damit kein Affenformular mehr bauen, bei dem nicht die "wundersame" Backslashvermehrung auftritt (jedenfalls nicht ohne eine Bereinigung). Auch eine Stringverarbeitung (Zeichen zählen und dergleichen) wird mindestens erschwert. Deswegen ist es nicht günstig, so früh wie möglich zu verunstalten, sondern lieber punktgenau zu behandeln. Ich lebe in meiner Wohnung lieber mit den Dingen in ihrer eigentlichen Form und packe sie erst dann ein, wenn ich umzuziehen gedenke.
Ich konfiguriere die Pfade, mitunter auch in Teilen, wenn ein Basispfad um spezifische Pfade ergänzt werden soll. Der Basispfad kann dabei auch [Leerstring] oder / lauten.
Meinst du damit, dass du dir einen Basispfad in einer Konfiguration angeben lässt und diesen dann spezifisch erweiterst?
Welche Pfade wären bei dir dann "" oder eben "/"? Ich könnte mir vorstellen, dass "" für das aktuelle und "/" für das Wurzelverzeichnis steht.
Aus einem aktuellen Projekt:
[files]
baseDir =
imagesDir = images
buttonsDir = images/buttons
navDir = images/nav
projectsDir = projects
baseDir ist in dem Fall leer, was bedeutet, dass alles relativ zum DocumentRoot ist, weil ich es so anwende:
<li><a href="##base##/%s"><img src="##base##/##images##/%s.jpg" alt="%s" /></a></li>
Die ##...##-Platzhalter werden später durch die Werte aus der ini-Datei ersetzt. Da wo das Stück Code steht, wird gerade ein Menü zusammengebaut und die %s-Platzhalter durch konkrete Werte ausgetauscht.
Der fertige Link zeigt dann auf /foo und das Bild fände der Browser unter /images/foo.jpg. Das Projekt arbeitet mit sprechenden URLs weswegen eine absolute Adressierung von einzubindenden Ressourcen notwendig ist, um nicht je nach Anzahl der Pfadteile unterschiedlich lange ../-Kolonnen berechnen zu müssen. Wenn sich das Basisverzeichnis verschöbe, müsste es à la /qux konfiguriert werden.
Lo!