was hindert Dich daran, zu Deinem PHP-Code noch eine Konfigurationsdatei zu speichern, die nicht
.htaccess
, sondern vielleichtconfig.xml
heißt? Mitsimplexml_load_file()
kann man das wunderbar auslesen.
Kann man auch so machen, ist aber mehr Aufwand als Umgebungsvariablen und dadurch gewinnt man nicht viel. Mit simplexml_load_file()
bist du ja noch nicht am Ende, du musst ja noch die einzelnen Werte aus dem DOM-Baum holen.
Die PHP-Funktionen, die diese benutzen sollen nämlich alle identisch sein.
Klar, näheres regelt eine Konfigurationsdatei. Aber nicht
.htaccess
! Davon lässt Du lieber die Finger, denn für Dein PHP-Programm ist sie nicht gedacht.
Umgebungsvariablen sind sogar genau dafür gedacht. Bei Apache konfiguriert man diese nunmal in der .htaccess-Datei oder der VHost-Konfiguration oder der globalen Webserver-Konfiguration. Siehe auch den Link, den ich unter mein anderes Anwort-Posting gesetzt habe. TL;DR: Umgebungsvariablen sind sprach- und systemunabhängig, orthogonal zueinander und landen nicht versehentlich im Code-Repostory.
Dateibasierte Konfiguration kann man wunderbar zusätzlich dazu einsetzen, für Einstellungen, die nicht zwischen verschiedenen Servern variieren sollen, bspw. die Routing-Tabelle. So lassen sich die serverspezifischen und -agnostischen Einstellungen sauber voneinander trennen.
Zudem ist diese Trennung recht weit verbreitet in der Server-Programmierung, einige Frameworks basieren darauf. Auch wenn du sie jetzt für deinen Anwendungsfall als ungeeignet empfindest, so ist es doch ein anerkanntes Best Practice. Die Einschätzung die Finger davon zu lassen, kann ich daher nicht teilen.