Wie man PHP-Anwendungen konfigurieren kann
Habe heute morgen einen neuen interessanten Artikel in der Rubrik IBM developerWorks gefunden. Es zeigt verschiedene Möglichkeiten, wie man seine PHP-Anwendung konfigurieren kann. Dabei geht der Autor auf folgende Möglichkeiten ein.
- Konfiguration mit der php.ini Datei
- Konfiguration mit einem PHP Array
- Konfiguration mit einer Textdatei
- Konfiguration mit einer XML Datei
- Konfiguration mit einer Datenbank (z.B. MySQL)
Bei jeder Option bewertet der Autor diese und gibt Tipps, wann diese Option sinnvoll ist und wann nicht. Am Ende des Artikel gibt der Autor noch weitere Tipps, welche Parameter man üblicherweise in einer Konfigurationsdatei vorhalten sollte und welche nicht.
Fünf Punkte sind mir spontan aufgefallen:
- Ich weiss nicht ganz genau, warum der Autor ini_get(”include_path”) statt get_include_path() verwendet.
- In dem verwendeten Datenbankschema gibt es einen Primärschlüssel ‘id’. Diesen würde ich weglassen und stattdessen die Spalte ‘name’ als Primärschlüssel definieren. Das macht das Arbeiten mit einer Settingstabelle in einer Datenbank noch einfacher.
- Bei der Option, die Konfiguration in der php.ini vorzuhalten, fehlt meiner Meinung nach der Hinweis, dass man auch lokale php.ini Dateien verwenden kann. Damit umgeht man das Problem, sitespezifische Konfigurationseinstellungen global verwalten zu müssen.
- Zudem fehlt noch eine weitere Option. Und zwar kann man auch eine eigene .ini Datei verwenden, die nicht php.ini heißt, z.B. settings.ini, und kann diese in einem beliebigen Verzeichnis außerhalb des Document_Root ablegen, so dass niemand anderes darauf Zugriff hat. Über parse_ini_file() lässt sich diese leicht einlesen.
- Statt eine eigene Konfigurationsklasse zu schreiben, kann man auch fertige Lösungen verwenden, wie z.B. die Komponente Zend_Config aus dem Zend Framework, die Komponente ezcConfiguration aus den eZ components oder die Klasse PEAR::Config. Allen genannten Lösungen ist gemein, dass sie verschiedene Formate wie Array, .ini Dateien oder XML Dateien lesen können.
Fazit: Alles in allem bietet der Artikel dennoch gerade für Einsteiger einen guten Einblick in die Materie.


Dienstag, 29.08.2006, um 20:40
Hallo Sebastian,
also das Blog ist erst sehr neu, deshalb gab es bisher noch wenige Trackbacks. Aber ein, zwei schon. Und auch interne Trackbacks funktionieren.
Hast du denn die Trackback Adresse
http://www.ralfeggert.de/2006/08/29/wie-man-php-anwendungen-konfigurieren-kann/trackback/
verwendet oder eher einen Pingpack auf http://www.ralfeggert.de/2006/08/29/wie-man-php-anwendungen-konfigurieren-kann/
gemacht? Ich komme bei den Begrifflichkeiten manchmal noch ein wenig durcheinander… ;-)
Gruß,
Ralf
Dienstag, 29.08.2006, um 21:46
Hmm,
gute Frage muss mal nachschauen, wie das Serendipty genau macht. :)
Donnerstag, 17.04.2008, um 15:37
Michael wrote related post…
Related posts and stories, let it go…