Presque tous les CMS publics utilisent un fichier de configuration .php pour les paramètres de la base de données, etc. Par exemple, WordPress crée automatiquement un fichier de configuration .php lorsque vous l'installez.
Pourquoi n'utilisent-ils pas simplement un fichier .ini? PHP a déjà parse_ini_file () et je suis sûr que d'autres langages ont des fonctions similaires.
la source
relate to one well-defined, portable syntax for configuration
Je comprends pas. Les fichiers ini ont également une syntaxe bien définie et portable. Chaque.conf.php
fichier a sa propre structure, la plupart sont basés sur des tableaux, mais ce n'est pas si différent d'un fichier ini..ini
fichiers pour stocker la configuration, il y aurait sans aucun doute de nombreuses instances mal configurées fonctionnant où la configuration était accessible au public, ce qui n'est généralement pas une bonne chose. Avec les fichiers PHP, il sera très, très rare qu'un serveur soit mal configuré pour servir le contenu de celui-ci à un visiteur.De manière générale, je préfère
.ini
les fichiers de configuration XML. Dans les systèmes plus importants, une personne autre que le développeur devra souvent modifier une valeur de configuration, éventuellement un DBA ou un administrateur système. La plupart des administrateurs de base de données et des administrateurs système que je connais n'auraient aucun problème à naviguer dans un simple script PHP, mais je préférerais qu'ils ne le fassent pas. Une petite erreur peut endommager l'ensemble de l'application de plusieurs manières.Mais dans les petits systèmes, il est extrêmement pratique d'utiliser des scripts PHP pour la configuration. Je jouais avec le kit SDK AWS aujourd'hui, qui utilise également un script PHP pour la configuration:
Au lieu de coder en dur un
default_cache_config
, je passe le temp du système, et cela fonctionnerait dans chaque système sur lequel je déploie le script. Ce script est une petite preuve de concept qui sera transmise à une dizaine de développeurs, et je veux qu'ils s'exécutent tel quel, sans avoir à réfléchir. Si le prototype évolue, je le câblerai avec ma classe de configuration XML (et ne compterai évidemment pas sur le cache du système de fichiers).la source
La réponse est simple: un conf.php n'a pratiquement aucun travail requis pour fonctionner. C'est juste un autre fichier source.
la source
La vitesse sans mise en cache peut également être la raison. La configuration PHP peut être mise en cache opcode de manière transparente si nécessaire. Alors que le fichier INI doit être analysé à chaque fois qu'il est lu et que vous devez créer le cache vous-même. Pour les petits fichiers, c'est correct, mais avec des centaines de lignes analysées à chaque demande, cela peut augmenter à des dizaines de millisecondes, ce qui est beaucoup pour un site Web optimisé à 200 ms.
la source