Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Pages: 1
Bonjour !!
Je ne parvient pas a trouver quel sont les différent avantages de configurer un module via module.php ou config.module.php.
J'ai peut être mal chercher après tout, si vous avez des lien je suis preneur !
Je n'ai trouver que ce post http://fr.openclassrooms.com/forum/suje … module-php mais qui n'apporte pas de réponse.
Est-ce simplement de laisser le choix au développeur de configurer son module selon un algorithme procédural ou objet? y a t'il des différence notable sur la performance?
Edit:
Petit avancé en regardant des exemple de module:
dans module, on met la configuration minimal requise, pour que le module fonctionne.
Dans module.config.php, d'autre développeur peuvent overidez la configuration par defaut.
C'est sa?
Dernière modification par Splyf (02-04-2014 13:06:50)
Hors ligne
Bonjour, la question m’intéresse également, quand j'ai galéré à installer doctrine j'ai suivi le tutorial d'aromatix qui m'a donné une piste la dessus :
l’utilisation de fonctions callback ne pouvant pas être mis en cache, il est préférable de les déclarer à l’intérieur de la méthode getServiceConfig() et ne laisser dans le fichier config/module.config.php que des donnée sous forme de tableaux de clés/valeurs imbriqués. aussi il est préférable d’utiliser des classes de fabrique à la place des callback car on fourni leurs noms sous forme de chaine de caractère (on peut dans ce cas les spécifier dans config/module.config.php).
Une des différence serait donc le cache déjà ?
J'attend qu'Orkin ou Bakura confirme vu que je suis encore tout nouveau.
Hors ligne
Salut, le nom du fichier c'est module.config.php et non config.module.php. C'est important parce qu'il est inclus dans le Module.php https://github.com/zendframework/ZendSk … le.php#L24
Pour te répondre il n'y a pas de différence entre l'utilisation de l'un ou de l'autre. En général on met ça dans module.config.php parce que ça évite d'avoir une classe énorme avec toutes les confs de tous. La grosse différence aussi (mais ça ne fonctionne que lorsqu'il n'y a pas de fonction anonyme pour les factories donc faut passer par une classe Factory ni de "new MaClasse()") c'est que le fichier module.config.php ne contenant que des tableaux de string peut être mis en cache .
Hors ligne
Hmmm dsl mais je comprend pas l'histoire du cache x)
Si plus tard je veut accèder a la valeur d'une clé de la config, Celle ci doit bien etre en cache quelque part, même si je n'est configurer qu'avec Module.php?
si je fait
$config = $this->getServiceLocator()->get('Config');
j'accède bien de toute les manière a quelque chose dans le cache?
Par contre il est vrai que dans mon cas un module qui regroupe une bdd de 50 table, sa va vite faire un module.php énorme j'y avait pas pensé!
Alors que je peut découper module.config.php en plusieurs fichier, sa va tout de suite être plus propre!
Mais dans le cas d'un module que l'on souhaite largement diffusé (ce n'est pas mon cas mais juste pour savoir ^^) ne serai-ce pas plus judicieux de ne mettre dans module.config.php uniquement que ce qui serrai intéressant de re - configurer pour l’utilisateur du module?
Hors ligne
Je pense que tu confonds ici, la config stocké dans les classes et la config stocké en cache. Car oui la config stocké dans les classe tu y accèdes par le service manager, mais cela ne signifie pas qu'elle sera stocké en cache (quand tu active je crois : 'config_cache_enabled' dans ton application.config.php qui doit se situer dans :'cache_dir')
qui en fait signifie que toute ta configuration peut se charger plus rapidement en prod et optimiser le chargement globale de ton application (pour de très grosses applis le cache de config est à prendre en compte)
Hors ligne
hannnn dacord, rien avoir en effet !
Hors ligne
Tout est dit .
Pour diffuser un module en général tu as deux fichier de config ou du moins 2 types :
- les fichiers de type module.config.php (que tu peux découper)
- un fichier .php.dist, ce fichier permet de configurer le module on le met généralement dans le dossier config de l'application (avec le fichier doctrine, global.php etc ...)
Hors ligne
daco dac!
donc en gros, il vaut mieux utilisé Module.php pour la config uniquement pour les callback, si on a la fleme duiliser une factory? ^^
Dernière modification par Splyf (02-04-2014 15:38:48)
Hors ligne
Splyf a écrit:
si on a la fleme duiliser une factory? ^^
Ou si on aime faire du code crâde
Hors ligne
c'était pour bien comprendre, d'un points de vue "fonctionnel" cette foi si :p
Hors ligne
Orkin a écrit:
Ou si on aime faire du code crâde
On ne dit pas : du code crade.
On dit : du code trash metal tendance méga death.
Ah ces vieux codeurs! Comprennent jamais rien aux musiques de jeunes.
Hors ligne
Pages: 1