首页 > Drupal > Drupal中的钩子

Drupal中的钩子

来源:原创 作者:thomas 分类:Drupal 阅读:989 日期:2014-05-22

Drupal使用了反转控制(inversion of control)设计模式,框架只在合适的时间调用相应的模块功能。这些为了模块完成它们的任务而提供的机会被称为钩子。

钩子(Hooks)

可以把钩子看做Drupal的内部事件。它们也被称为回调函数,这是由于他们是根据函数命名约定来构建的,而不是注册一个事件监听器(listener),它们也不是真的被回调。模块使用钩子挂在Drupal的其余部分上。

假定一个用户登录到了你的Drupal站点上。在用户登录时,Drupal调用用户钩子。这意味将调用所有的根据约定——“模块名”+“钩子名”——创建的函数都将被调用。例如,评论模块中的comment_user(), 本地化模块中的locale_user(),节点模块中的node_user(),还有任何其它具有类似名称的函数都将被调用。如果你编写了一个名为 spammy.module的定制模块,其中包含一个名为spammy_user()的用来向用户发送e-mail的函数,那么你的这个函数也将被调用,倒霉的用户每次登录都将收到一封不请自来的e-mail。

接近Drupal的核心功能的最常用的方式就是在模块中实现钩子。十日谈技术博客

 

热门文章 更多>

微信扫一扫,关注技术十日谈