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:
-
[developpement]
-
serveur = localhost
-
utilisateur = root
-
motdepasse = toto
-
db = mabdd
-
-
[production]
-
serveur = sql.domaine.com
-
utilisateur = site12
-
motdepasse = Qwe1Wa1
-
db = domaine_com
Avec un code PHP qui ressemble à ceci:
-
<?php
-
-
-
$config[SITE_PHASE]['serveur'],
-
$config[SITE_PHASE]['utilisateur'],
-
$config[SITE_PHASE]['motdepasse']
-
-
-
.
-
.
-
.
-
-
?>
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
.
![]()