Unterschied zwischen .inc und .module?


23

Ich versuche herauszufinden, was der Hauptunterschied zwischen mymodule.moduleund ist mymodule.admin.inc.

Kann es jemand erklären?

Antworten:


20

Ohne auf die Details einzugehen, versteht Drupal die .module-Datei als ein Modul innerhalb des Systems. Die .inc-Notation wurde in PHP immer für Include-Dateien verwendet. Wenn Sie Module entwickeln, möchten Sie möglicherweise die Funktionalität in verschiedene .inc-Dateien aufteilen.

In bestimmten Fällen verwendete Module verwenden ähnliche Konventionen wie .admin.inc. Diese Datei enthält normalerweise den gesamten Code, der zum Ausführen der Verwaltungsschnittstelle erforderlich ist, und eine Datei node.pages.inc enthält beispielsweise den Code, der für andere Menürückrufe ausgeführt wird.


16

Erweiterung der Antwort von Alex Gill

  1. Moduldateien werden auf jeder Ladeseite geladen, während INC-Dateien nur geladen werden, wenn sie angefordert werden.
  2. Gemäß der Konvention sollten .module-Dateien nur die Funktionen enthalten, bei denen es sich um die Implementierung von Hooks handelt. Das Befolgen dieses Standards verbessert auch die Leistung.
  3. .inc-Dateien können durch Erwähnen des Pfads in hook_menu()oder durch explizites Verwenden von module_load_include ('inc', 'node', 'node.admin') eingeschlossen werden .
  4. Wenn eine der .inc-Dateien Klassenobjekte enthält, sollte dies in der .info-Datei des Moduls erwähnt werden.

8

Kurz gesagt, mymodule.module ist die PHP-Datei, die Drupal automatisch lädt, wenn dieses Modul aktiviert ist. Bei Bedarf können dann andere Dateien hinzugefügt werden. Normalerweise ist mymodule.admin.inc enthalten, um das Menü für die Administratoreinstellungen zu erstellen. Wenn Sie durch mymodule.module blättern, können Sie sehen, wo. Manchmal, wenn ein Modul ziemlich komplex wird, wird es in kleinere Dateien aufgeteilt und diese werden ebenfalls einbezogen.


2
Es gibt andere Dateien, die Drupal automatisch lädt, und dies sind keine Dateien mit der Erweiterung .module. Tatsächlich lädt Drupal automatisch auch .inc-Dateien. Daher kann dies nicht zur Unterscheidung von .module- und .inc-Dateien verwendet werden.
kiamlaluno

0

Unterschied zwischen Moduldatei und Inc-Datei

  • Die .module-Datei kann von Drupal bei jedem Seitenaufruf geladen werden. Die Funktion in der Moduldatei kann in einer anderen Moduldatei ohne das betreffende Modul verwendet werden (* muss jedoch aktiviert werden, und es müssen Abhängigkeiten hinzugefügt werden).
  • .inc Datei kann manuell geladen werden. Es muss bestimmte Seitenfunktionen enthalten.

Zum Beispiel muss sich hook_node_load, hook_form_alter in der .module-Datei befinden.


Das unterscheidet die beiden Dateien nicht, da beide automatisch bei Aktivierung des Moduls geladen werden. Wie für .inc kann hook_node_load auch aus einer .inc-Datei aufgerufen werden
saadlulu

Die .inc-Datei ist möglicherweise in der zugehörigen Moduldatei enthalten. Die Funktionstrennung kann vom .inc vorgenommen werden, damit der Benutzer dies versteht.
Ramesh Babu TB
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.