Ich glaube, ich verstehe die strukturellen Unterschiede einer .inc-Datei (im Vergleich zu einem .module), aber könnte jemand die Designunterschiede beschreiben? Ich sehe Drupal-Beispielmodule, die eine .inc-Datei mit hook_menu aufrufen, oder ich sehe call .inc-Datei für Funktionsdefinitionen.
- Unter welchen Umständen fügt man Code in eine .inc-Datei ein? Gibt es allgemeine Designrichtlinien, die einige einhalten?
- Gibt es einen anderen Vorteil als die Klarheit, warum man eine (oder mehrere) .inc-Dateien verwenden würde? Performance? Versionierung?
Vielen Dank!
.inc
pro URL. Ich denke, nur Organisation, anstatt zufällige Funktionen in eine große.module
Datei zu kopieren. Aber wie @ Clives Beitrag verweist, ist es wirklich nur eine persönliche Meinung oder was Sie gewohnt sind. kein richtig oder falsch hier.Antworten:
In der Regel würde ich in die Moduldatei den Code einfügen, der häufiger benötigt wird (z. B. Hilfsfunktionen, die von mehr als einer Funktion verwendet werden), und in .inc-Dateien den Code, der nicht so oft verwendet wird oder der für bestimmte verwendet wird Seiten.
Seit Drupal 6 lädt der Code automatisch die Dateien, die die Seitenrückrufe enthalten, oder die Formularersteller, die für die Menüelemente verwendet werden. Aus diesem Grund werden Seitenrückrufe für Verwaltungsseiten normalerweise in .admin.inc-Dateien abgelegt, während Seitenrückrufe für .admin.inc-Dateien normale Seiten in .pages.inc-Dateien abgelegt werden.
Seit Drupal 7 werden Dateien mit Klassen automatisch geladen, wenn eine Klasse instanziiert wird. Mit Drupal 7 können Module definieren, in welchen Dateien ihre Hooks definiert sind (über hook_hook_info () ). Zum Beispiel system_hook_info () definiert die .tokens.inc Dateien als Dateien , in denen
hook_token_info()
,hook_token_info_alter()
,hook_tokens()
, undhook_tokens_alter()
Implementierungen gefunden werden können; Auf diese Weise werden diese Dateien automatisch geladen, wenn einer dieser Hooks erforderlich ist.Auf diese Weise können Sie den Code weiter in Dateien aufteilen, die bei Bedarf geladen werden, und in Code, der immer von Drupal geladen wird.
quelle