我一直在各种编程文章中遇到这个词。但是我不明白它们是什么,以及如何使用它们。所以我只是想知道钩子的概念是什么。如果有人可以将我链接到一些示例,尤其是在网络开发的背景下,那就太好了。

有帮助吗?

解决方案

我的答案与php中写的WordPress有关,但这是一项一般的开发机制,因此尽管您将“ Python”放在问题标题中,但这并不重要。

在网络开发中巧合的挂钩使用的一个很好的例子是 WordPress的钩子.

它们的命名是适当的,因为它们允许一种方法来“勾选”程序执行的某些点。

因此,例如 wp_head 是当呈现WordPress主题时发出的“动作” <head> 标签。假设您想编写一个需要其他样式表,脚本或通常会在这些标签中进行的内容的插件。您可以通过定义发出此操作时要调用的函数来“勾选”此操作。就像是:

add_action('wp_head', 'your_function');

your_function() 可能是像以下简单的事情:

function your_function() {
    echo '<link rel="stylesheet" type="text/css" href="lol.css" />';
}

现在,当WordPress通过做类似的操作发出此操作时 do_action('wp_head');, ,它将看到 your_function() 曾是 “迷上” 该动作,因此会称呼该功能(并在任何特定挂钩的文档中定义的任何参数(如果采用任何参数)).

长话短说:它使您可以通过“挂接到这些点”来通过分配函数回调来添加程序执行的特定点。

其他提示

根据人的背景,问这个问题的答案可能很简单,因为钩子通常是事件处理程序的另一个词,Blaenk给出了一个很好的解释。

当您将事件或代码注入否则没有类似的事件的过程中时,此短语也有一些用途 例如。

许可以下: CC-BY-SA归因
scroll top