J'ai quelques modules avec un chevauchement de certaines fonctionnalités. Conformément à DRY, je voudrais déménager à un autre endroit, donc j'aurai moins de code à maintenir. Où est le meilleur endroit pour faire cela? Si je fais juste un module (et en fais une dépendance de ceux qui en ont besoin), serai-je garanti que les constantes, fonctions et variables qui y sont définies seront toujours disponibles?Drupal6: Où conserver les fonctions/constantes nécessaires entre plusieurs modules?
1
A
Répondre
0
Oui c'est une bonne méthode. Je crée habituellement un module appelé "commun" avec une structure de fichier comme:
common
common.module //include all the inc files here
common.date.inc //all functions regarding date/time/etc.
common.text.inc //all functions regarding text
common.foo.inc
...
common.js //common javascript stuff, namespacing, etc.
Je nomme les fonctions comme ie.
date_unixtime_to_age()
et non
common_date_unixtime_to_age()
sur convience, mais seulement pour ce module. Tous les autres modules du format I comme
modulename_moduleincfile_functionname()
Les constantes sont correctes, mais essayez d'éviter d'encombrer l'espace de noms global avec des variables.
0
Voici comment je l'ai fait dans le passé. Cela fonctionne bien, le seul problème que j'ai eu est que parfois j'ai besoin de tweak my utility module's weight (with the Utility module) donc il est inclus avant les modules qui en dépendent.
ok. N'y a-t-il pas moyen d'inclure uniquement les fichiers .inc s'ils sont nécessaires? –
Eh bien, en général, vous voulez que vos fonctions communes soient toujours disponibles et que les frais généraux soient insignifiants. Dans les autres modules, vous pouvez utiliser le paramètre "fichier" de hook_menu() pour inclure un fichier par URL. Voir http://api.drupal.org/api/function/hook_menu. –