drupal中的钩子是干什么的

来源:互联网 发布:linux rar文件解压 编辑:程序博客网 时间:2024/05/05 17:46

转自:http://qustliuyongjie.blog.163.com/blog/static/1695089720105289455325/


 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的核心功能的最常用的方式就是在模块中实现钩子。

原创粉丝点击