Les variables de configuration avec PHP
Par Méthylbro le lundi 15 juin 2009, 08:30 - Tutoriels - Lien permanent
Lors du développement d'application web ou de site internet un minimum complexes, certaines problématiques sont récurrentes. La gestion des utilisateurs, la gestion d'un cache et plein d'autre encore.
Ici, je vais vous parler d'un point sur lequel je me suis penché récemment : la gestion de variable de configuration au sein de votre application.
Il s'agit en fait d'un billet d'introduction à une série d'article un peu similaire à celle de l'année dernière sur la POO avec PHP. Nous verrons ainsi tout au long de la semaine comment, grâce à la Programmation Orienté Objet, on peut résoudre cette impératif technique qui est le stockage et le traitement de variables de configuration au sein d'une application PHP.
Qu'est-ce que j'entends par "variable de configuration" ?
Et bien de façon générale, si l'on en croit la wikipédia, il s'agit des paramètres qui permettent d'adapter leur comportement à la configuration dans lequel votre application est implantée
.
Vous retrouverez donc par exemple parmi ces paramètres des valeurs comme les identifiants de connexion à votre base de données (adresse du serveur, login, mot de passe, etc), la liste des adresses emails destinataire d'un formulaire de contact ou encore la liste des fonctionnalités activées et/ou désactivées.
Les exemples peuvent être nombreux, mais le fait est que toute application possède un minimum de variables de "configuration".
Comment stocker et gérer ses variables ?
Il n'existe bien évidement pas de méthodes, de procédures prédéfini pour stocker et manipuler ces variables de configuration. Le nombre de possibilités techniques pour résoudre cette contrainte est égal au nombre de développeurs. C'est a dire ; à chaque développeur sa méthode.
Cependant quelques modèles génériques émergent :
Les fichiers de configuration
Le plus généralement, les variables de configuration sont centralisés au sein d'un fichier. Se pose alors le choix du type de fichier utilisé par le développeur.
Cette méthode présente plusieurs avantages. Les accès disques sont maitrisés par le développeur. Il est facile de gérer différentes versions du fichier de configuration.
le fichier de configuration .php
C'est la méthode la plus simple et la plus courante. Stocker ses valeurs directement dans un fichier de configuration en php. C'est le grand classique du config.php. On trouvera donc un fichier .php un peut comme ceci :
<?php
$db_host = 'localhost';
$db_user = 'root';
$db_pass = '';
$db_name = 'test';
?>
L'inconvénient de cette méthode, c'est qu'il devient très difficile de modifier dynamiquement ces valeurs. Il sera par exemple très coûteux en ressources et en code de créer une interface web pour venir modifier le contenu de ce fichier avec de joli formulaire et tout.
le fichier de configuration .ini, .xml et autres formats
Toujours dans le même principe que le fichier de configuration en php, on retrouve d'autres formats. Comme par exemple le format .ini qui permet grâce à la fonction php parse_ini_file() de lire très facilement sont contenu.
[DATABASE]
db_host = "localhost"
db_user = "root"
db_pass = ""
db_name = "test"
Bien évidement, si vous souhaitez utiliser un fichier pour stocker vos données de configuration un grand nombre de format de fichiers s'offre à vous. Vous pourrez alors sérialiser vos données avec serialize dans un fichier quelconque.
Ou encore utiliser le format xml. Soit avec un doctype personnalisé, soit en utilisant par exemple WDDX.
Les autres méthodes
Bien évidement il n'y a pas que les fichiers qui sont a même de stocker vos valeurs de configuration. Si vous avez à modifier régulièrement ces informations l'utilisation d'une base de données peut s'avérer par exemple plus utile.
Mais on peut encore imaginer bien d'autres forme de stockage. Pourquoi pas dans une base de registre, dans un annuaire, ou encore sur une boite mail (oui, on peut vraiment tout imaginer).
Conclusion
Vos applications doivent adapter leur comportement à la configuration dans laquelle elles sont implantées. Cela passe donc par une véritable gestion des valeurs qui permettent d'ajuster votre application en fonction de son environnement.
Nous verrons dans une série de tutoriels à venir que grâce à la programmation orienté objet en php on peut résoudre très facile les différentes contraintes technique relative au stockage et au traitement de ces variables de configuration.
Commentaires
alors je suis heureux de savoir grace a toi qu'il y avais plussieurs variables de configurations. mais je vais garder la variable php car je la connais un peu plus .
En création de sites Internet un développeur est souvent confronté à cela ; il est toujours utile de rappeler les bases