PHP - 制作一个允许插件的应用程序

4

好的。我正在创建一个完全基于 AJAX 和 web2.0 的项目管理系统。由于每个公司都不同,我希望开发人员能够像 WP 一样制作插件。

我的系统目前已经设置好了,我在 PHP 中编写了一个良好的 API(以防我扩展到 iOS/Driod),网站通过 AJAX 调用它来获取所需的数据。

例如,有一个插件可以让页面跟踪每个项目上的时间。

我的问题是:如何编写一个允许插件的 jQuery/LAMP 网站?我无法确切地理解这将如何工作。当然,所有插件都将通过我提交,并且只允许我审核过的插件。

尽管如此,我还是很困惑 :/

提前感谢您的帮助!


有一件你绝对可以做的事情就是看一下 WP! - markus
3个回答

1
我会这样做:每个插件都是一个目录(“./Pluginname”),其中包含主文件(./Pluginname/Pluginame.php)。 Pluginame.php 包含一个名为“Pluginame”的类,每次启用此插件时都会创建该类的实例。因此,此类包含一些影响代码未来性能的函数。 您的脚本必须扫描插件目录并在管理面板模块中显示所有可用插件。
接下来,如果我为您的项目管理系统编写插件,我可以在我的本地副本中测试它,并将我的插件的第一个版本发送给您。如果您接受了它,您可以将我的插件放入您网站上的插件目录中,任何用户都可以自动下载到自己的插件目录中。

1

你可以看看其他系统是如何做的,比如 Wordpress、Drupal 或 Symfony。我会为插件建立一个数据库表,并编写一个“重新扫描”功能,以便在相关文件夹中查找更改(升级、删除、添加)。

你还需要在代码中添加“钩子”,以便如果存在自定义方法,则同时调用它(或者替代默认处理程序)。这可能会变得相当复杂,要小心哦 :)


1

通过接口向用户公开API,以便他们围绕其构建插件。如果插件还可以提供内容,则您将需要处理内容存储的位置,如何检索它以及主题/换肤支持。

您还需要考虑插件的启用/禁用功能,以及一种简单的生命周期架构,供插件设计者协调插件何时/何地激活和使用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接