如何在php中创建插件系统?

时间:2014-02-10 14:37:46

标签: php wordpress web-applications plugins

我正在寻找一种方法来构建一个类似于Joomla和Wordpress等各种着名CMS中的插件系统。

我正在寻找一个PHP基础插件系统,以便轻松入门,并且不难理解和实现/集成。

以下是我需要的更多细节: 我们构建了一个商业Web应用程序。在这个Web应用程序中,我们的客户要求我们添加使用基于插件的系统扩展它的功能,以便其他开发人员可以开发新功能并扩展应用程序。

系统应该允许开发人员在一个或多个文件中构建功能/功能,然后压缩并安装它们。安装时,编程的功能应自动显示在核心应用程序中。

该插件还应具有后端和前端接口支持。

如果不需要该功能,那么只需删除该插件,功能就会消失!

我已经在网上搜索了这个并且也厌倦了研究WordPress的插件系统,看看我是否可以集成类似的功能,但不幸的是,这对我来说太复杂了,让我试着去实现它!

TIA

Yogi Yang

1 个答案:

答案 0 :(得分:3)

这对于像这样的网站来说太笼统了。有许多不同的方法来创建插件系统,它们都具有相对的优势和优势。弱点。

有关WordPress API的工作原理的更多信息,请阅读publish-subscribe pattern。 WordPress在处理页面时会调用一组actionsfilters,插件可以注册接收有关这些事件的通知。

Drupal的插件架构类似,但它依赖于具有与其交互的钩子相对应的特定名称的函数,Drupal构建了插件在激活插件时支持的功能的索引。这往往更快,但灵活性更低,并且与代码兼容。我们中的一些人不熟悉数据库。

但是要将其恢复到一般答案的范围,您需要一组定义的应用程序生成的信号/事件,以及插件注册他们对他们采取行动(操作)或修改默认操作的兴趣的方法(过滤器)。然后,您记录该API,以便人们可以围绕它设计代码。其余的(如解压缩文件)只是实现细节。