PHP教程:插件机制在PHP中实现方案

  • 来源: 未知 作者: 老苏   2011-07-18/10:07
  • 某些钩子大概是系统事前就设计好的,好比之前我举的闭于评论Spam过滤的钩子,凡是是它已由焦点系统开辟职员设计进了评论的处置逻辑中;别的一类钩子则大概是由用户自行定造的(由第三圆开辟职员造定),凡是是存正在于显示层,好比一个通俗的PHP表单隐现页里中。

    要正在法式中真现插件,我们起尾应当想到的就是界说差别的钩子(Hooks);“钩子”是一个很形象的逻辑PHP教程:插件机制在PHP中实现方案概念,你可以以为它是系统预留的插件触收前提。它的逻辑道理以下:当系统履行到某个钩子时,会判定那个钩子的前提是不是谦意;若是谦意,会转而先往挪用钩子所造定的功效,然后返回继续履行余下的法式;若是不谦意,跳过便可。那有点像汇编中的“间断庇护”逻辑。

    一个硬朗的插件机造,我以为必需具有以下特性:

    下里停止PHP中插件机造的焦点真现,全部机造焦点分为三年夜块:

    大概你觉得上里的话比力无聊,让人昏昏欲睡;然则要看懂下里我写的代码,理解以上的道理是必弗成少的。

    插件,亦即Plug-in,是指一类特定的功效模块(凡是是由第三圆开辟者真现),它的特性是:当你需要它的时间激活它,不需要它的时间禁用/删除它;且不管是激活仍是禁用都不影响系统焦点模块的运转,也就是说插件是一种非侵进式的模块化设计,真现了焦点法式与插件法式的疏松耦开。一个典范的例子就是Wordpress中浩繁的第三圆插件,好比Akimet插件用于对用户的评论停止Spam过滤。

    那篇文章的起点是我对插件机造的理解,及其正在PHP中的真现。此圆案仅是插件机造正在PHP中的真现圆案之一,写下来和年夜家分享,接待年夜家一同会商。


    评论 {{userinfo.comments}}

    {{money}}

    {{question.question}}

    A {{question.A}}
    B {{question.B}}
    C {{question.C}}
    D {{question.D}}
    提交

    驱动号 更多