设计应用程序编程接口 (API) 可能是一项具有挑战性的工作。好的 API 具有简单、直观且易于使用的界面。在这个简单的界面背后可能有许多复杂的系统交互,而这些交互确实会使原本明确定义的端点任务变得更加混乱。随着时间的推移,开发人员可能会被要求为现有端点“添加”额外的业务逻辑。然后,在您意识到之前,单个 API 调用正在与十几个系统进行交互,作为其主要流程的一部分。 Backward Skip 10s Play Video Forward Skip 10s 如果我们可以开发一个简单的管道,但能够在以后添加其他任务而不妨碍主流程,那不是很好吗?本文将向您展示如何改编 WordPress 和一般编程的想法,以使您的 API 能够进行更强大的交互。 什么是挂钩/操作? 挂钩(又名操作/过滤器)是 WordPress 社区为事件及其相关回调指定的名称。
为什么在 API 中使用 Hook? 钩子适用于很多事情,包括触发一些辅助任务、通过 PHP cURL 命令调用另一个系统、构建对象并将其放入任务队列以便稍后由另一个系统拾取、发送电子邮件等等。这一切都可以完成,无需云化给定端点的主要流程(并且可能在此过程中强制使用新的 API 版本)。 如果端点用于创建用户,我们可以专注于在数据库中创建该用户记录,并在此过程中呼叫正在监听的人。也许在创建用户记录后,我们会发出一个事件,说“任何人都在听这个,我刚刚创建了一个用户,这是他们的信息”。也许某些回调函数已订阅该事件并正在侦听,也可能没有。事件其实并不关心。 有了这个系统,我们可以让我们的 API 调用可能稍后编写的代码。我们不需要接触 API 端点代码本身就可以做到这一点。为了演示它是如何工作的,让我们换个方式并展示如何在 PHP API 中启动它的基本机制。