Catégorie(s): PHP,

Comment gérer facilement les paramètres de configuration de votre site Web PHP

J'avoue que le titre le l'article n'est pas forcément clair. N'empêche que dans cet article, nous allons voir une manière très simple de gérer les paramètres de configuration  lors du développement de sites en PHP. En réalité je vais vous présenter la fonction parse_ini_file de PHP qui, comme l'indique son nom, permet de lire les fichiers INI.

  • Qu'est ce qu'un fichier INI?

Selon Wikipedia, un fichier INI est un fichier de configuration en mode texte qui contient des paramètres destinés aux applications. Il s'agit d'un format de 'fichier d'initialisation' portant l'extension '.ini'.

Ceci décrit les éléments du format d'un fichier INI :

[section1]
; Ceci est un commentaire dans une section vide
[section2]
; Cette section définit la valeur de var1 et var2
var1 = abc
var2 = 123
[section3]
; Des variables portant le même nom peuvent exister si elles se trouvent dans une autre section
var1 = def
var2 = 456

Sections
Les sections commencent par '[' et se terminent par ']' comme dans l'exemple ci-dessus.

Paramètres
Le paramètre "var1 = abc" ci-dessus est un exemple de paramètre (aussi connu sous le nom de clé). Les paramètres commencent par une clé ('var1'), suivie du signe égal ('='), et ils se terminent par une valeur ('abc').

Commentaires

Toutes les lignes commencant par un ';' sont considérées comme étant des commentaires, et sont ignorées.

  • Manipulation des fichiers INI en PHP

Comme mentionnée plus haut, la fonction PHP parse_ini_file permet de lire les fichiers INI. Cette fonction retourne un tableau associatif contenant les valeurs lues dans le fichier.

  • Scenario

Généralement lors du développement d'un site Web, nous avons 2 bases de données différentes: celle destinée au développement et celle utilisée par le site en ligne aussi appelée base de données de production. Dans la plupart des cas, les paramètres de connexion ne sont pas les mêmes. Un fichier INI sera donc d'une grande utilité dans une telle situation. Considérons le fichier config.ini ci-dessous:

  1. [developpement]
  2. serveur = localhost
  3. utilisateur = root
  4. motdepasse = toto
  5. db = mabdd
  6.  
  7. [production]
  8. serveur = sql.domaine.com
  9. utilisateur = site12
  10. motdepasse = Qwe1Wa1
  11. db = domaine_com

Avec un code PHP qui ressemble à ceci:

  1. <?php
  2.  
  3. define ('SITE_PHASE', 'developpement') ;
  4. $config = parse_ini_file ('config.ini', true) ;
  5.  
  6. $link = @mysql_connect (
  7. $config[SITE_PHASE]['serveur'],
  8. $config[SITE_PHASE]['utilisateur'],
  9. $config[SITE_PHASE]['motdepasse']
  10. ) or die ('Echec connexion a la base de donnees') ;
  11.  
  12. @mysql_select_db ($config[SITE_PHASE]['bdd'], $link) ;
  13.  
  14. .
  15. .
  16. .
  17. if (is_resource($link)
  18. mysql_close ($link) ;
  19.  
  20. ?>

la connexion est faite vers la base de données de développement. Une fois le développement achevé, il suffit juste de changer la ligne

define ('SITE_PHASE', 'developpement') ;

à

define ('SITE_PHASE', 'production') ;

pour que la connexion se fasse avec les paramètres de la base de données de production !

Comme je disais, il s'agit d'une technique très simple mais qui a le mérite de faciliter la vie .

 

Archives

Kassim Machioudi

Catégories

Flux RSS