Différence entre .inc et .module?

23

J'essaie de comprendre quelle est la principale différence entre mymodule.moduleet mymodule.admin.inc.

Quelqu'un peut-il l'expliquer?

saadlulu
la source

Réponses:

20

Sans entrer dans les tenants et aboutissants, Drupal comprend le fichier .module comme étant un module au sein du système. La notation .inc a toujours été utilisée en PHP pour les fichiers «include». Lors du développement de modules, vous souhaiterez peut-être diviser les fonctionnalités en différents fichiers .inc.

Les modules utilisés dans des cas spécifiques utilisent des conventions similaires à .admin.inc. Ce fichier comprend généralement tout le code nécessaire pour exécuter l'interface d'administration, et un fichier node.pages.inc par exemple contient le code exécuté pour d'autres rappels de menu.

Alex Gill
la source
16

Pour compléter la réponse donnée par Alex Gill

  1. Les fichiers .module sont chargés sur chaque page de chargement, tandis que les fichiers .inc sont chargés uniquement lorsqu'ils sont demandés.
  2. Par convention, les fichiers .module ne doivent contenir que les fonctions qui implémentent des hooks. Le respect de cette norme améliore également les performances.
  3. Les fichiers .inc peuvent être inclus en mentionnant le chemin d'accès dans hook_menu(), ou en rendant explicite à l'aide de module_load_include ('inc', 'node', 'node.admin') .
  4. Si l'un des fichiers .inc contient des objets de classe, il doit être mentionné dans le fichier .info du module.
Gokul NK
la source
8

En bref, mymodule.module est le fichier php qui se charge automatiquement par drupal lorsque ce module est activé. Il peut ensuite inclure d'autres fichiers si nécessaire. Habituellement, mymodule.admin.inc est inclus pour créer son menu de paramètres d'administration. Si vous passez par mymodule.module, vous pouvez voir où. Parfois, lorsqu'un module devient assez complexe, il est divisé en fichiers plus petits et ils sont également inclus.

Jimajamma
la source
2
Il existe d'autres fichiers que Drupal charge automatiquement, et ce ne sont pas des fichiers avec l'extension .module. En fait, Drupal charge également automatiquement les fichiers .inc; par conséquent, cela ne peut pas être utilisé pour différencier les fichiers .module et .inc.
kiamlaluno
0

Différence entre le fichier module et le fichier inc

  • Le fichier .module peut être chargé par drupal pour chaque chargement de page. La fonction dans le fichier de module peut être utilisée dans un autre fichier de module sans inclure ce module (* mais doit être activé et la dépendance doit être ajoutée).
  • Le fichier .inc peut être chargé manuellement. Il doit contenir des fonctions de page spécifiques.

Par exemple, hook_node_load, hook_form_alter doit être dans un fichier .module.

Ramesh Babu TB
la source
cela ne distingue pas les deux fichiers, car les deux sont chargés automatiquement lors de l'activation du module. comme pour .inc hook_node_load peut également être appelé à partir d'un fichier .inc
saadlulu
Le fichier .inc peut avoir été inclus dans ce fichier de module associé et pour la séparation des fonctionnalités peut être effectué par .inc pour que l'utilisateur puisse le comprendre.
Ramesh Babu TB