2012-06-13 67 views
3

首先,这不是一个真正的编程问题,而是更多的编程概念问题。基本上,我已经构建了一个定制的PHP框架来加快我的端部署,并且我希望有一种插件系统可以让我将特定功能添加到框架的基础上(比如SQL类或者一个Twitter包),这将允许我把它们放到一个文件夹中,而不必为每个新项目实际编辑基础。如何去允许自定义框架的插件?

任何关于这方面最好的方法的想法?

+0

[允许插入PHP应用程序的最佳方式]的可能重复(http://stackoverflow.com/questions/42/best-way-to-allow-plugins-for-a-php-application) – ircmaxell

回答

3

下面是关于如何做一个很好的书面职位由@ircmaxell,什么是选项:

还检查了:

+0

我已经看了一下,看起来是按照我想要的方向走向正确的方向,但我有点困惑。我是否必须通过我的代码并向事件添加某些通知器,以便插件可以在那里运行一段代码?例如: '//原始代码 function save(){ \t $ this-> anObjectsGotToDoWhatAnObjectsGotToDo(); \t $ this-> plugins-> notify(); } //插件 function recieveNotification(){ \t echo'Model saved!'; }' – andy

0

什么即时通讯在我的CMS做:

  • 为每个插件我做一个文件夹拉丁文命名这个插件的名字。
  • 我在那里创建了一个/翻译文件夹。检查here
  • 有一个具有2基本功能,一个单一的PHP文件plugin_installplugin_uninstall(你知道,事情发生在安装/反安装像表创建/删除)
  • 创建专页的系统读取这些插件,安装而不是,并给开/关切换,以便用户可以安装/取消它们。
  • 通过一次调用include_once到您的索引页面(或管理页面)的顶部,将这些单个文件加载到include whatever functionality they offer
  • 启用的插件将从您的主页中加载(include_once),以及它们的功能,因此每个插件也可以互相调用。
+0

我认为你误解了这个问题:)我不是在讨论web应用程序的插件,而是专门针对框架。 – andy

+0

谢谢你指出,理解。你想要钩子。链接@Sarfraz是足够好的。 – 2012-06-13 18:22:04