gpt4 book ai didi

php - 钩子(Hook)……它们到底是什么

转载 作者:可可西里 更新时间:2023-11-01 01:10:29 27 4
gpt4 key购买 nike

我在 Kohana PHP 框架中看到了钩子(Hook),它们作为某种由特定事件触发的回调函数(Kohana 的事件,即某种方法重载)工作。

我在 Wordpress 中看到过钩子(Hook),但我不知道它们是什么或如何使用它们(昨天才看到)。

我在“非框架”php 中寻找事件,但找不到。

钩子(Hook)只在“基于事件”的环境中工作吗?它们到底是什么(一般而言,不仅仅是在 PHP 中)?如果不是在“基于事件的”环境中,它们有什么用。

最佳答案

实际上, Hook 是对各种事件堆栈的 Hook ;一些 Controller 迭代的值列表,如果你有任何注册到该事件, Controller 可以运行你的自定义代码。但是 PHP 本身没有任何类似的(有用的)东西,所以你自己制作或者使用你在你最喜欢的应用程序/系统中找到的东西。这是创建插件架构的一种相当常见的方法,但也可用于应用程序控制和其他用途。我之前写过关于 my quest 的文章更多 universal event and operating set of stack events , 包括 this post here on StackOverflow .

正如其他人所提到的,PHP 是无状态的,因此在我使用它们的地方,我将它们用作一个简单的执行列表,并将应用程序的每个部分都挂接到其中。这样我就非常可扩展,并且也有一个插件堆栈的基础。 (我会在某个神奇的日子发布它,当我感到无聊或退休或手上有太多时间等时)

例如,您会在 WordPress 中找到类似的堆栈和 Hook ,因此处理 CSS 的插件会将自身挂接到 CSS_DEFINITION_EVENT(基本上,WordPress 应用程序中将 CSS 内容写入HTML 部分)。这种东西无处不在。在 PHP 中,它仅适用于(嗯,主要是)你在每个 PHP 页面上获得的请求的限制(除非你在网络服务器之外执行 PHP),但所有主要操作系统、应用程序、框架和系统都有某种形式的事件堆栈. PHP 只是没有(认真地)内置一个。

关于php - 钩子(Hook)……它们到底是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2400045/

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