代码之家  ›  专栏  ›  技术社区  ›  Kent Boogaart

用php构建插件系统

  •  31
  • Kent Boogaart  · 技术社区  · 18 年前

    我正在开发一个自定义的CMS供我自己使用,并且正在考虑实现一个插件系统,这样我可以更轻松地扩展代码。不过,我在概念化架构和布局方面遇到了困难。

    我知道我可以通过一些开源程序来实现类似的功能,但这只是学术性的,所以我真的不想花太多时间去挖掘外来代码。

    有人对如何进行有什么好的想法吗?如果有人能概述一些比较流行的程序是如何做到这一点的,那就太完美了。

    1 回复  |  直到 11 年前
        1
  •  41
  •   Vinko Vrsalovic    18 年前
    1. 定义您希望插件插入的功能(即,它们将做什么,覆盖什么)
    2. 定义插件的物理位置,如/plugins
    3. 导入位置中存在的所有插件
    4. Decorator Observer 插入插件行为或通知插件事件发生的模式。 Strategy 在某些情况下也可能适用。

    如果不小心的话,PHP会让这变得相当容易,但可能会造成混乱。我喜欢Observer方法,插件将自己注册到插件管理器,插件管理器会通知他们发生了什么,并等待他们的操作发生。

    如果你不信任插件,那么你必须添加控件来控制你将允许任何插件注册的事件。

    推荐文章