代码之家  ›  专栏  ›  技术社区  ›  Collin White

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

  •  0
  • Collin White  · 技术社区  · 14 年前

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

    1 回复  |  直到 14 年前
        1
  •  3
  •   Jeremy French    14 年前

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

    Drupal的钩子系统是其接口抽象的基础。钩子定义可以在模块上或由模块执行的操作。如果一个模块实现了一个钩子,它就会签订一个合同来执行一个特定的任务,或者在钩子被调用时返回一个特定类型的信息。为了通过调用钩子完成有用的工作,调用代码不需要知道模块或钩子的实现方式。

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