structure d'un fichier .ini - Version imprimable +- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org) +-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38) +--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51) +--- Sujet : structure d'un fichier .ini (/showthread.php?tid=5579) |
structure d'un fichier .ini - php_addict - 22-07-2011 Bonsoir j'ai un petit soucis avec mon fichier de configuration .ini et j'en viens à vous pour solliciter votre aide. exemple idiot de mon fichier .ini
grosso modo ma function Get_My_Configuration() parse mon fichier .ini comme ceci: - si la valeur est un int,string ou float alors on initialise une variable constante (define) - si c'est un array la function renvoie un array (car une constante ne peut être un array) expl:
jusqu'à là je pense que c'est correct, mais ce que je souhaiterais: si la variable de session $_SESSION['activated'] est initialisée (isset) alors certaines données de configuration soient differentes, par exemple: si $_SESSION['activated'] initialisée ---> DELAIS = 32 si $_SESSION['activated'] non initialisée ---> DELAIS = 68743198 je ne sais pas si c'est très clair. En fait selon si $_SESSION['activated'] est initialisée que certaines données de configuration soir différentes. Auriez-vous une idée de comment procéder svp ? bonne fin de soirée RE: structure d'un fichier .ini - Ter Rowan - 23-07-2011
mais j ai peut être mal compris RE: structure d'un fichier .ini - Wells - 23-07-2011 pk pas faire un config.php?????? RE: structure d'un fichier .ini - Slavick - 23-07-2011 De ce que j'en comprends, c'est qu'après avoir chargé ton fichier INI, tu souhaiterais modifier la valeur de ta constante DELAIS si $_SESSION['activated'] n'est pas définie. Sauf que c'est impossible de modifier une constante une fois qu'elle est déclarée... La documentation PHP a écrit :Une constante est un identifiant (un nom) qui représente une valeur simple. Comme son nom le suggère, cette valeur ne peut jamais être modifiée durant l'exécution du script (sauf les constantes magiques).(Source) Il faudrait peut-être essayer de d'abord charger ton fichier INI dans une variable simple PHP, puis d'effectuer tes changements de valeurs et enfin de faire ton traitement (si variable simple, définition en constante, etc.). RE: structure d'un fichier .ini - php_addict - 23-07-2011 (23-07-2011, 01:23 AM)Wells a écrit : pk pas faire un config.php?????? c'est à dire? sinon je pense faire ceci:
- les données de [normal_section] seront des constantes php - les données de [array_section] seront des array php - les données de [special_section] seront des constantes php en fonction de si $_SESSION['activated'] est initialisée ou non pourri ou pas ? désolé si ce n'est pas très clair RE: structure d'un fichier .ini - Ter Rowan - 23-07-2011 (23-07-2011, 10:24 AM)php_addict a écrit :(23-07-2011, 01:23 AM)Wells a écrit : pk pas faire un config.php??????
grosso modo, comme si tu faisais un cache d'un point ini directement en php si ton .ini n'est pas utilisé par d'autres technologies, autant taper directement en php A noter, perso, je suis cette méthode mais avec des classes abstraites :
RE: structure d'un fichier .ini - php_addict - 23-07-2011 ah ok merci, j'étais partit dans cette optique là au départ, mais c'est un peu moins lisible qu'un fichier.ini non ? dernière petite question, les define sont assez lents (bien que je n'en ai pas enormement), donc est t il judicieux de passer comme paramètres à la fonction Get_My_Configuration() les valeurs qui doivent être charger (au lieu de tout charger en valeurs constantes), exemple:
RE: structure d'un fichier .ini - Ter Rowan - 23-07-2011 (23-07-2011, 10:47 AM)php_addict a écrit : ah ok merci, j'étais partit dans cette optique là au départ, mais c'est un peu moins lisible qu'un fichier.ini non ? je trouve ça juste un peu plus verbeux, mais ça me permet d'être super à l'aise dans le code (pas la peine de déclarer globals $zz, ..., assurance de n'avoir qu'une seule déclaration de mes paramètres, etc..) De plus la version "linéaire" (celle avec tes données exemples) qui produit exactement les mêmes variables que toi (si j'ai bien compris) est tout aussi lisible (faut juste rajouter define) après pour la lenteur de tes define, je ne sais pas te répondre RE: structure d'un fichier .ini - zeppelin - 23-07-2011 Perso toutes mes configs sont en .json, car tu as des fonctions natifs de PHP qui les gèrent (écriture / lecture). Je reprends le principe de "model" comme dans un MVC normal pour mes fichiers de configs. Les fichiers de configs sont la BDD, et j'ai des models pour y accéder. Comme ça je ne charge que les configs don't j'ai réellement besoin. J'utilise un singleton pour ne pas charger les configs plusieurs fois. Avec l’héritage tout reste vraiment propre, avec des méthodes communes etc. ceinte Par exemple, pour connaitre le prix d'un mur d'enniveau 8, je balance un WallConfig::getInstance()->getPrice(8); qui charge le fichier wall.config.json, et qui me retourne un objet avec les différents prix (pierres, bois etc.). Si tu as beaucoup de configs, je te conseil vivement cette méthode. De plus, le json est formidable pour l'ajax (avec jQuery et co.). RE: structure d'un fichier .ini - php_addict - 23-07-2011 merci pour vos avis, il y a tellement de facon de faire ! |