【发布时间】:2016-09-02 07:21:30
【问题描述】:
我构建了自己的 CMS 用于学习目的(也只是为了好玩),但现在我想扩展它,以便它支持一些基本形式的扩展(插件)。我想使用某种观察者模式,其中扩展通过ExtensionManager 注册自己以进行某些更新(例如onRenderTitle())。每个扩展都包含一个强制类ExtensionData,它将为系统中的每个扩展执行。扩展可以通过使用回调在此类中注册自己(ExtensionManager 将传递给每个 ExtensionData 类)。
但是现在每个扩展都必须在每次页面加载时注册自己(因为 PHP 在每次页面加载之间都会丢失状态),从而导致潜在的性能问题。
我这样做完全错了吗?或者这是要走的路?我没有编写支持扩展的 CMS 的经验(这就是我想要学习的内容)。我查看了 Wordpress 如何与扩展一起工作,但我还没有发现它是如何加载它们的。
【问题讨论】:
标签: php plugins content-management-system