gpt4 book ai didi

php - 你能在 Drupal 中创建自己的 Hook 吗?

转载 作者:IT王子 更新时间:2023-10-29 01:05:55 27 4
gpt4 key购买 nike

是否可以在 Drupal 模块中创建您自己的 Hook 以供其他 Drupal 模块使用?如果没有,Drupal 中是否有第三方开发人员提供 Hook 的机制?如果到目前为止一切都不是,那么在核心的哪个位置实现了钩子(Hook)列表?

据我了解,Drupal 模块处理类似系统的事件,称为 hooks .当你创建一个新模块时,你创建了实现一个钩子(Hook)的函数。例如,有一个 hook_delete Hook 。如果你在你的模块中实现了一个功能

function mymodule_delete($node)
{
}

每当删除节点时都会调用此函数。

我想知道的是,作为第三方模块开发人员,我是否有办法创建我自己的 Hook 。比如,像 hook_alanskickbutthook 这样其他模块开发人员可以订阅这个钩子(Hook)。

如果这是可能的,你是怎么做到的?我查看了官方文档,并没有在那里找到太多东西,当我开始翻阅 Drupal 源代码时,我仍然有点头晕(我了解递归,但没有花足够的时间思考递归问题)。欢迎提供完整的解决方案,但我很高兴能指出正确的方向。

最佳答案

Module_invoke_all() 是您创建自己的钩子(Hook)的门票:

查看 API:

http://api.drupal.org/api/drupal/includes--module.inc/function/module_invoke_all

然后看看这篇很棒的文章:

http://web.archive.org/web/20101227170201/http://himerus.com/blog/himerus/creating-hooks-your-drupal-modules

(编辑:在 http://himerus.com/blog/himerus/creating-hooks-your-drupal-modules 但现在没有了)

一旦你完成了你的钩子(Hook),就可以在另一个模块中调用它:

/**
* Implementation of hook_myhookname()
*/

function THISMODULENAME_myhookname(args){
//do stuff
}

关于php - 你能在 Drupal 中创建自己的 Hook 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4994512/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com