Drupal 的钩子是接口的实现吗?

发布于 2024-09-30 14:22:55 字数 89 浏览 3 评论 0原文

在我看来,当创建模块时,您像接口一样使用 Drupal 的钩子,通常您实现的接口强制使用相同的方法名称,但是可以说 Drupal 制定的命名约定符合这种设计模式吗?

It seems to me that when creating a module you are using Drupal's hooks like an interface, typically the interface that you implement forces the same method names but could it be said that the naming conventions that Drupal institutes conform to this design pattern?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月下客 2024-10-07 14:22:55

这是一篇关于 OOP 和 Drupal 的好文章。

Drupal的钩子系统是其接口抽象的基础。挂钩定义可以在模块上执行或由模块执行的操作。如果模块实现了钩子,则在调用钩子时,它会签订契约以执行特定任务或返回特定类型的信息。调用代码无需了解有关模块或钩子实现方式的任何信息,即可通过调用钩子完成有用的工作。

但是,如果您在 OOP 中有一个接口,则需要实现所有非抽象方法。使用 Drupal,您只需实现您需要的方法。

就我个人而言,我发现直接采用 Drupal 比尝试将 OOP 概念应用到其架构中更容易。

This is a good article about OOP and Drupal.

Drupal's hook system is the basis for its interface abstraction. Hooks define the operations that can be performed on or by a module. If a module implements a hook, it enters into a contract to perform a particular task or return a particular type of information when the hook is invoked. The calling code need not know anything about the module or the way the hook is implemented in order to get useful work done by invoking the hook.

However if you have an interface in OOP you need to implement all non abstract methods. With Drupal you just implement the methods you need.

Personally I have found it easier to take Drupal as it is rather than trying to apply OOP concepts to its' architecture.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文