Я думаю, что понимаю структурные различия файла .inc (по сравнению с .module), но может ли кто-нибудь описать различия в дизайне? Я вижу примеры модулей drupal, вызывающих файл .inc с hook_menu, или вижу файл вызова .inc для определения функций.
- При каких обстоятельствах можно поместить код в файл .inc? Какие-нибудь общие руководящие принципы дизайна, которых придерживаются некоторые?
- Есть ли какое-либо преимущество, кроме ясности относительно того, почему можно использовать (или несколько) файл .inc? производительность? управления версиями?
Спасибо!
.inc
каждого URL. просто организация, я думаю, вместо того, чтобы сбрасывать случайные функции в один большой.module
файл. но как ссылки на пост @ Clive, это действительно просто личное мнение или то, к чему вы привыкли. не правильно или неправильно здесь.Ответы:
Как правило, я бы поместил в файл модуля код, который требуется чаще (например, вспомогательные функции, используемые более чем в одной функции), а в файлах .inc - код, который используется не так часто или используется для конкретных целей. страницы.
Начиная с Drupal 6, код автоматически загружает файлы, содержащие обратные вызовы страниц, или конструкторы форм, используемые для пунктов меню. По этой причине обратные вызовы страниц для административных страниц обычно помещаются в файлы .admin.inc, а обратные вызовы страниц для обычных страниц помещаются в файлы .pages.inc.
Начиная с Drupal 7, файлы, содержащие классы, автоматически загружаются при создании экземпляра класса. Drupal 7 позволяет модулям определять, в каких файлах определены их хуки (через hook_hook_info () ). Например, system_hook_info () определяет .tokens.inc файлы как файлы , где
hook_token_info()
,hook_token_info_alter()
,hook_tokens()
, иhook_tokens_alter()
реализации могут быть найдены; таким образом, эти файлы автоматически загружаются, когда требуется один из этих хуков.Это позволяет дополнительно разделить код на файлы, которые загружаются при необходимости, и код, который всегда загружается из Drupal.
источник