它与面向对象的接口(Interface)类似, 就是为规范定义了两个实体间的功能界面, 使得实现了该界面的实体能进行交互. 在Drupal里, 钩子就是Drupal框架与模块间进行交互的接口, 但由于Drupal没有面向对象的机制, 所以它采用编程规约来讨巧地实现.在Drupal里, 钩子就是一系列需要实现特定功能的函数, 它们约定好了输入参数和返回类型, 同时约定以xxx_yyy() 的形式来命名, 其中xxx是要实现功能的模块名称,而yyy则是具体的钩子名称 . 举个例子, 你就更清楚了. 例如我有个模块叫myexamplemodule, 现在我想在footer中添加一些Javascript代码, 于是我在我的模块代码中实现一个叫myexamplemodule_footer()的函数, 在此函数中我实现了我想要功能; 于是用户请求页面时, Drupal的框架会检测到我的模块有myexamplemodule_footer()函数, 并且它会自动调用它, 是不是很简单明了呢! Drupal核心框架的这种调度机制, 屏蔽了用户自定义模块与框架间的实际交互, 简化了的开发, 因为你只要实现一个函数即可, 别的事情系统已经替你完成了. 更多的hook请查看Drupal的文档库.
Drupal7学习笔记之Theme
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...