2010-11-04 5 views
3

Je fais une petite expérience. Dans l'ancien temps, la plupart des gens sauvegardaient les fichiers de configuration dans un fichier php sous la forme d'un groupe de constantes ou d'une classe avec un lot d'attributs. Maintenant, nous voyons des projets comme symfony utilisant yaml ou autre chose. Ma question est:Fichiers de configuration en PHP (fichiers XML vs YAML vs PHP)

Si vous pouvez choisir de trois façons différentes pour stocker vos fichiers de configuration: fichiers XML, yaml ou php, lequel choisiriez-vous? Le plus important: pourquoi?

Merci pour votre aide

+1

Un fichier .ini pour la configuration est également une option, et probablement le – stillstanding

Répondre

8

Pour moi, cela dépend de qui va toucher cette configuration. Si ce sont des développeurs, alors les fichiers PHP sont les meilleurs, car ils ne nécessitent aucune analyse supplémentaire. S'il s'agit d'utilisateurs techniques (par exemple, d'autres développeurs ou administrateurs système), alors il y a un choix: un fichier de configuration compliqué irait mieux avec un fichier structuré, comme XML ou YAML, car il y a moins de chance de casser le code PHP si quelque chose ne va pas (et vous pouvez signaler une erreur d'analyse spécifique avec des suggestions comment réparer). Des choix simples peuvent être écrits avec PHP (mais ici si quelqu'un oublie un caractère de citation, le programme échouera avec des erreurs étranges, ou sans erreurs du tout si les erreurs ne vont que dans le journal!).

S'il s'agit d'utilisateurs finaux ... alors aucun fichier de configuration ne devrait être exposé, à mon avis. Vous devez fournir un installateur qui va gérer tout (et générer les fichiers de configuration lisibles par machine ou écrire des choses à la base de données).

+2

Palantir le plus convivial a frappé le clou sur la tête. Aller avec la solution la plus flexible que vous pouvez aller avec qui sera toujours compréhensible par la personne responsable de maintenir la configuration. Cela peut aller d'un fichier d'inclusion php sur le côté le plus flexible/le plus technique à un front web à part entière sur l'extrémité la moins flexible/la moins technique. –

+0

+1: Je suis entièrement d'accord avec vous! J'ai utilisé XML depuis longtemps, depuis que j'ai commencé avec ASP.NET, mais j'ai toujours pensé que je pourrais faire quelque chose hors de la ligne. Vous avez une réponse remarquable –