Creo que entiendo las diferencias estructurales de un archivo .inc (en comparación con un .module), pero ¿alguien podría describir las diferencias de diseño? Veo módulos de ejemplo de drupal que llaman a un archivo .inc con hook_menu, o veo al archivo .inc de llamada para las definiciones de funciones.
- ¿En qué circunstancias se pone código en un archivo .inc? ¿Alguna pauta general de diseño a la que se adhieran algunos?
- ¿Hay alguna otra ventaja además de la claridad de por qué uno usaría un archivo .inc (o múltiple)? ¿actuación? versionado?
¡Gracias!
.inc
por url. solo organización, supongo que en lugar de volcar funciones aleatorias en un.module
archivo grande . pero como referencias de publicaciones de @ Clive, es realmente una opinión personal o lo que estás acostumbrado. No está bien o mal aquí.Respuestas:
Como regla general, pondría en el archivo del módulo el código que se requiere con más frecuencia (por ejemplo, funciones auxiliares utilizadas desde más de una función), y en los archivos .inc el código que no se utiliza con tanta frecuencia o que se utiliza para páginas
Desde Drupal 6, el código carga automáticamente los archivos que contienen las devoluciones de llamada de página o los creadores de formularios utilizados para los elementos del menú. Por esa razón, las devoluciones de llamada de página para páginas administrativas normalmente se colocan en archivos .admin.inc, mientras que la devolución de llamada de página para páginas normales se coloca en archivos .pages.inc.
Desde Drupal 7, los archivos que contienen clases se cargan automáticamente cuando se instancia una clase. Drupal 7 permite a los módulos definir en qué archivos se definen sus ganchos (a través de hook_hook_info () ). Por ejemplo, system_hook_info () define los archivos .tokens.inc como archivos donde
hook_token_info()
,hook_token_info_alter()
,hook_tokens()
, yhook_tokens_alter()
las implementaciones se puede encontrar; de esta manera, esos archivos se cargan automáticamente cuando se requiere uno de esos enlaces.Esto permite dividir aún más el código en archivos que se cargan cuando es necesario, y un código que siempre se carga desde Drupal.
fuente