2010-10-13 8 views
1

Je veux créer un fichier de configuration défini par l'utilisateur, qui contient des variables avec des valeurs constantes, maintenant je veux accéder à ces valeurs dans de nombreuses pages de mon application.how peut utiliser ces variables en utilisant des fonctions .. ce qui est la meilleure façon de le faire sans utiliser les classes.fichier de configuration dans php

+3

Vous devriez essayer d'accepter plus de réponse parce que 22% est faible et a gagné Ne pas motiver ppl à vous répondre ... – Shikiryu

+0

Pourquoi ne pas utiliser les cours? Demander aux gens de garder deux lignes telles qu'elles sont (une en haut, une en bas) pour envelopper toute leur configuration dans une définition de classe ne devrait pas être plus difficile que de leur demander d'utiliser PHP en premier lieu ... –

Répondre

1

Bien le faire sans classes, vous pouvez utiliser define() pour créer des constantes basées sur l'utilisateur à utiliser dans toute votre application.

EDIT La convention de dénomination pour les constantes sont toutes des majuscules.

exemple:

define(DATE, date()); 

vous pouvez l'appeler dans votre script en appelant:

$date = DATE; 

http://php.net/manual/en/function.define.php

Vous pouvez également enregistrer les détails dans le tableau $GLOBALS. Rappelez-vous que ce n'est pas complètement sécurisé, alors utilisez md5() pour stocker les mots de passe ou les données sensibles.

+4

md5 n'est pas pour stocker les mots de passe. – Chris

+0

lol je sais que;) Ma réponse a pu être un peu ambiguë, désolé. Je voulais dire md5() toutes les données sensibles dans le tableau $ GLOBALS. –

+0

Globals n'est ni moins ni plus sûr que d'utiliser 'define'.En outre, 'md5()' détruit efficacement les données sur lesquelles il fonctionne, ce qui le rend inutile, sauf pour vérifier que les données stockées ailleurs sont les mêmes. –

2

Vous pouvez définir ce fichier quelque part et l'inclure ou l'exiger.

require_once("path/to/file/config.php"); 

Toutes les variables dans ce fichier sont accessibles dans le script qui requires/includes il.

Ou vous pouvez utiliser définir comme:

define("TEST", "10"); //TEST holds constant 10 

maintenant en utilisant le test dans toutes les capitales auront la valeur qu'elle a été définie comme.

De même, si vous voulez les rendre accessibles dans les fonctions, vous avez trois options, passez-les comme arguments à la fonction lorsque vous appelez ou déclarez comme global dans la fonction.

//example 1 
require_once("path/to/file/config.php"); 
function testFunction($var){ 
    echo $var." inside my function"; //echos contents of $var 
} 

//now lets say a variable $test = 10; was defined in config.php 
echo $test; //displays "10" as it was defined in the config file. all is good 
testFunction($test); //displays "10 inside my function" because $test was passed to function 


//example 2 
require_once("path/to/file/config.php"); 
function testFunction2(){ 
    global $test; 
    echo $test; //displays "10" as defined in config.php 
} 

//example 3 
define("TEST", "10"); 
echo TEST; // outputs "10" 
//could have these constants defined in your config file as described and used above also! 
1

Comme vous utilisez des constantes alors define() est logique, mais vous pourriez peut-être utiliser ini files comme une alternative à la place.

Questions connexes