8795 sujets

Développement web côté serveur, CMS

Bonjour à toutes et à tous,

Actuellement j'ai un fichier ini avec la structure suivante
[ERRORS]
emptyvar=Attention le champ est obligatoire.

Je me demandais donc s'il était possible de paramétrer un message du genre :
[ERRORS]
emptyvar=Attention le champ $var est obligatoire.

puis dans le PHP un code du genre

$file = parse_ini_file('monfichier.ini', true);
$var = 'Nom';
echo $file('ERRORS', 'emptyvar');


Puis à l'affichage on obtiendrai la phrase
Attention le champ Nom est obligatoire.
Modifié par ashesheart (07 Mar 2010 - 18:05)
Salut.

Déjà (sauf erreur de ma part) je crois que ta troisième ligne serait plutôt du genre :
echo $file['ERRORS']['emptyvar'];

Donc là, on est d'accord, le résultat à l'affichage sera :
Attention le champ $var est obligatoire.

Maintenant, tu pourrais utiliser un eval() sur la phrase, mais ca serait dégueulasse et pas vraiment sécurisé si quelqu'un venait à toucher au fichier .ini . Donc en clair, je recommande pas du tout.

Mon idée serait plutôt d'utiliser un spécificateur de conversion dans ton .ini

[ERRORS]
emptyvar=Attention le champ %s est obligatoire.

$file = parse_ini_file('monfichier.ini', true); 
$var = 'Nom'; 
echo sprintf($file['ERRORS']['emptyvar'], $var);


C'est plus simple non ? Smiley cligne
Modifié par jeff52 (07 Mar 2010 - 17:43)
Merci, c'est exactement ce que je cherchais. Je teste de suite.

Test réussi, j'arrive à obtenir des messages paramétrables.
Modifié par ashesheart (07 Mar 2010 - 18:05)