JeuWeb - Crée ton jeu par navigateur
[Résolu] comment "externaliser" les paramètres - 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 : [Résolu] comment "externaliser" les paramètres (/showthread.php?tid=4858)

Pages : 1 2


RE: comment "externaliser" les paramètres - Ter Rowan - 01-06-2010

(01-06-2010, 02:25 PM)Anthor a écrit : Je préfère la solution que tu donnes avant, couplé avec un argument dans le constructor.

C'est pas plus long et ça permet de surcharger les paramètres. Si besoin d'un exemple, je peux en donner un.

bah un rapide pour confirmer, oui je veux bien car on est sur un domaine ou l'interprétation peut divaguer ^^


RE: comment "externaliser" les paramètres - Anthor - 01-06-2010

Voilà un exemple :


class Action {
private $_fileParams = 'DIR/FILE';
private $_params = array();

public function __construct( array $params = array() )
{
$this->_params = array_merge(
( include($this->_fileParams) ),
$params
);
}
}



RE: comment "externaliser" les paramètres - Ter Rowan - 01-06-2010

ok merci Anthor, c'est plus clair Smile

cependant est ce volontaire de faire "sauter" le côté statique (bon normal, vu qu'il peut changer avec le paramètre du constructeur)

en d'autre termes, imaginons que j'ai 50,100, etc... instances de l'action dont toutes (ou presque) vont respecter les mêmes valeurs (celles de mon code initial) est ce que le fait de multiplier en mémoire par 50,100, etc le volume occupé n'est pas un problème ?

ou est ce un sous problème de non optimisation ? (mais dans ce cas, à quoi servent les variables statiques d'une classe en dehors des singletons et de la récusivité ?)

peut être que mon frein statique est un non sens finalement ?


RE: comment "externaliser" les paramètres - Anthor - 01-06-2010

Je préfère qu'elles soient privées, c'est le meilleure moyen de ne pas y accéder n'importe où. Et pas de static si jamais je veux les surcharger.
Après c'est une question de préférence et ça permet d'uniformiser.

J'ai jamais eu 50 instances du même objet ! Normalement, j'ai un objet général, et la classe appelée est différente.


RE: comment "externaliser" les paramètres - Ter Rowan - 02-06-2010

merci pour vos points

je vais retenir deux solutions :

la solution des "classes de paramétrages" car, finalement elle me permet par rapport à un "include return " d'avoir dans un seul fichier tous les paramètres d'un domaine en lisible (bon même si on fait un return array(Param1 => ..., Param 2 => ... qui revient au même)

ainsi que, dans les cas où je veux pouvoir surcharger les données via le constructeur, le code d'anthor (en remplaçant ce qui va bien)


au final je me dis que les "classes de paramétrages" sont très proches du JSON, si ce n'est que pur natif php (et donc par compatible autre langage, c'est vrai, c'est vrai)