Fast jedes öffentliche CMS verwendet eine .php-Konfigurationsdatei für die Datenbankeinstellungen und so weiter. Beispielsweise erstellt WordPress bei der Installation automatisch eine .php-Konfigurationsdatei.
Warum verwenden sie nicht einfach eine INI-Datei? PHP hat bereits parse_ini_file () und ich bin sicher, dass andere Sprachen ähnliche Funktionen haben.
quelle
relate to one well-defined, portable syntax for configuration
Das verstehe ich nicht. INI-Dateien haben auch eine gut definierte und portable Syntax. Jede.conf.php
Datei hat ihre eigene Struktur, die meisten sind Array-basiert, aber das ist nicht so anders als eine INI-Datei..ini
Dateien zum Speichern der Konfiguration verwenden würde, würden zweifellos viele falsch konfigurierte Instanzen ausgeführt, in denen die Konfiguration öffentlich zugänglich war, was normalerweise nicht gut ist. Bei PHP-Dateien wird es sehr, sehr selten vorkommen, dass ein Server falsch konfiguriert wird, um den Inhalt eines Servers einem Besucher bereitzustellen.Generell bevorzuge ich
.ini
oder XML-Konfigurationsdateien. In größeren Systemen muss häufig eine andere Person als der Entwickler einen Konfigurationswert ändern, möglicherweise einen DBA oder einen Systemadministrator. Die meisten DBAs und Sysadmins, die ich kenne, hätten keine Probleme beim Navigieren durch ein einfaches PHP-Skript, aber ich würde es vorziehen, wenn sie es nicht tun würden. Ein kleiner Fehler kann die gesamte Anwendung in vielerlei Hinsicht schädigen.In kleineren Systemen ist es jedoch äußerst praktisch, PHP-Skripte für die Konfiguration zu verwenden. Ich habe heute mit dem AWS SDK herumgespielt, das auch ein PHP-Skript für die Konfiguration verwendet:
Anstatt a fest zu codieren
default_cache_config
, übergebe ich die Systemtemperatur, und das würde in jedem System funktionieren, in dem ich das Skript bereitstelle. Dieses Skript ist ein kleiner Proof of Concept, der an 10 Entwickler weitergegeben wird, und ich möchte, dass sie es so ausführen, wie es ist, ohne viel darüber nachdenken zu müssen. Wenn sich der Prototyp weiterentwickelt, werde ich ihn mit meiner XML-Konfigurationsklasse fest verdrahten (und mich offensichtlich nicht auf den Dateisystem-Cache verlassen).quelle
Die Antwort ist einfach: Eine conf.php benötigt im Grunde keine Arbeit, um zu funktionieren. Es ist nur eine andere Quelldatei.
quelle
Geschwindigkeit ohne Caching kann auch der Grund sein. Die PHP-Konfiguration kann bei Bedarf transparent zwischengespeichert werden. Während die INI-Datei bei jedem Lesen einer Textanalyse unterzogen werden muss und Sie den Cache selbst erstellen müssen. Für kleine Dateien ist es in Ordnung, aber mit Hunderten von Zeilen, die bei jeder Anfrage analysiert werden, kann es bis zu zehn Millisekunden dauern, was für 200 ms optimiertes Web ziemlich viel ist.
quelle