¿Diferencia entre .inc y .module?

23

Estoy tratando de descubrir cuál es la principal diferencia entre mymodule.moduley mymodule.admin.inc.

¿Alguien puede explicarlo?

saadlulu
fuente

Respuestas:

20

Sin entrar en detalles, Drupal entiende que el archivo .module es un módulo dentro del sistema. La notación .inc siempre se ha utilizado en PHP para los archivos 'incluir'. Al desarrollar módulos, es posible que desee dividir la funcionalidad en diferentes archivos .inc.

Los módulos que se usan en casos específicos usan convenciones similares a .admin.inc. Ese archivo generalmente incluye todo el código necesario para ejecutar la interfaz administrativa, y un archivo node.pages.inc, por ejemplo, contiene el código ejecutado para otras devoluciones de llamada de menú.

Alex Gill
fuente
16

Agregando a la respuesta dada por Alex Gill

  1. Los archivos .module se cargan en cada página de carga, mientras que los archivos .inc se cargan solo cuando se solicitan.
  2. Por convención, los archivos .module deben contener solo aquellas funciones que son implementación de ganchos. Seguir este estándar también mejora el rendimiento.
  3. Los archivos .inc se pueden incluir mencionando la ruta en hook_menu(), o haciendo un explícito usando module_load_include ('inc', 'node', 'node.admin') .
  4. Si alguno de los archivos .inc contiene objetos de clase, debe mencionarse en el archivo .info del módulo.
Gokul NK
fuente
8

En resumen, mymodule.module es el archivo php que drupal carga automáticamente cuando ese módulo está habilitado. Luego puede incluir otros archivos cuando sea necesario. Por lo general, mymodule.admin.inc se incluye para crear su menú de configuración de administrador. Si navega por mymodule.module, puede ver dónde. A veces, cuando un módulo se vuelve bastante complejo, se divide en archivos más pequeños y luego se incluyen también.

Jimajamma
fuente
2
Hay otros archivos que Drupal carga automáticamente, y esos no son archivos con extensión .module. En realidad, Drupal carga automáticamente también archivos .inc; por lo tanto, eso no se puede usar para diferenciar archivos .module e .inc.
kiamlaluno
0

Diferencia entre el archivo del módulo y el archivo inc

  • Drupal puede cargar el archivo .module por cada carga de página. La función en el archivo de módulo se puede usar en otro archivo de módulo sin incluir ese módulo (* pero debe habilitarse y se debe agregar dependencia).
  • El archivo .inc puede cargarse manualmente. Debe contener funciones de página específicas.

Por ejemplo, hook_node_load, hook_form_alter deben estar en el archivo .module.

Ramesh Babu TB
fuente
eso no distingue los dos archivos, ya que ambos se cargan automáticamente al habilitar el módulo. en cuanto a .inc hook_node_load también se puede llamar desde un archivo .inc
saadlulu
el archivo .inc podría haberse incluido en ese archivo de módulo relacionado y, para que el usuario lo sepa, puede hacer la separación de funciones.
Ramesh Babu TB