Em: Drupal
17 jan 2009Os hooks (ganchos em inglês) são funções PHP pré-definidas, criadas para promover a integração dos módulos com o núcleo do sistema.
O programador, ao criar um novo módulo, extenderá essas funções, respeitando apenas os parâmetros a serem recebidos e o valor retornado, ficando a implementação propriamente dita totalmente adequável às suas necessidades.Outras funções poderão ser definidas no módulo para ajudá-lo na implementação dos hooks ou executar as suas ações específicas.
Na api do drupal você encontra uma lista completa de todos os hooks disponíveis com suas respectivas descrições.
A implementação dos hooks inicia-se no uso correto da nomenclatura, que se dá substituindo a palavra hook no nome da função pelo nome do módulo.
Por exemplo, para implementar o hook_menu() em um módulo chamado notícias, vá até a pasta deste módulo, abra o arquivo noticias.module e crie uma função chamada noticias_menu(), esse hook é responsável por criar ítens de menu e chamadas de página através de url (não detalharemos o hook_menu() para não fugirmos do escopo desta matéria).
O código desse exemplo ficaria assim:
<?php /** * Implementação do hook_menu */ function noticias_menu() { $items = array(); // Cria um ítem de menu $items['noticias'] = array( 'title' => 'Noticias', 'page callback' => 'noticias_page', 'access arguments' => array('access content'), 'type' => MENU_NORMAL_ITEM, ); // Cria uma url para uma página $items['noticias/lista'] = array( 'title' => t('Notícias'), 'page callback' => 'noticias_list', 'access arguments' => array('access content'), 'type' => MENU_CALLBACK, ); return $items; } ?>
Com o uso do hook_menu(), o drupal irá incluir os links do módulos de notícias na geração do menu do sistema.
Qualquer dúvida ou sugestão, é só comentar!!
Rubens Gadelha é formado em Webdesign & Webmaster pela Universidade Estadual Vale do Acaraú - UVA e cursa atualmente o curso de bacharelado em Sistemas de Informação na Faculdade 7 de setembro (Fa7). Dedica algumas horas do dia à boa leitura e autodidática.
Atualmente trabalha como Desenvolvedor Web, focado na linguagem Java com bancos de dados Oracle e Postgres. Possui experiências anteriores na linguagem PHP e no Zend Framework, bibliotecas de javascript como JQuery, bancos de dados MySQL e no uso de CMS’s como Drupal.
1 Resposta para O que são os Hooks do Drupal?
francis
abril 13th, 2010 às 09:13
muito bom, era o que eu estava procurando.