Acho que entendo as diferenças estruturais de um arquivo .inc (comparado a um .module), mas alguém poderia descrever as diferenças de design? Eu vejo módulos de exemplo drupal chamando um arquivo .inc com hook_menu, ou vejo o arquivo .inc de chamada para obter definições de função.
- Sob quais circunstâncias alguém coloca código em um arquivo .inc? Quaisquer diretrizes gerais de design às quais alguns aderem?
- Existe alguma outra vantagem além da clareza de por que alguém usaria um (ou vários) arquivos .inc? desempenho? versionamento?
obrigado!
.inc
por URL. Apenas organização, eu acho, em vez de despejar funções aleatórias em um.module
arquivo grande . mas como as referências do post do @ Clive, é realmente apenas uma opinião pessoal ou com o que você está acostumado. não há certo ou errado aqui.Respostas:
Como regra geral, eu colocaria no arquivo do módulo o código necessário com mais frequência (por exemplo, funções auxiliares usadas em mais de uma função) e, nos arquivos .inc, o código que não é usado com tanta frequência ou que é usado para fins específicos. Páginas.
Desde o Drupal 6, o código carrega automaticamente os arquivos que contêm os retornos de chamada da página ou os criadores de formulários usados para os itens de menu. Por esse motivo, retornos de chamada de página para páginas administrativas são normalmente colocados em arquivos .admin.inc, enquanto retorno de chamada de página para páginas normais são colocados em arquivos .pages.inc.
Desde o Drupal 7, os arquivos que contêm classes são carregados automaticamente quando uma classe é instanciada. O Drupal 7 permite que os módulos definam em quais arquivos seus ganchos são definidos (através de hook_hook_info () ). Por exemplo, system_hook_info () define os arquivos .tokens.inc como ficheiros onde
hook_token_info()
,hook_token_info_alter()
,hook_tokens()
, ehook_tokens_alter()
as implementações podem ser encontrados; dessa maneira, esses arquivos são carregados automaticamente quando um desses ganchos é necessário.Isso permite dividir ainda mais o código em arquivos carregados quando necessário e o código sempre carregado do Drupal.
fonte