插件与观察者模式

时间:2014-07-24 14:21:47

标签: php plugins observer-pattern

我最近研究了可观察的模式,我理解事物的运作方式和概念。我也在我的应用程序中使用它但我想知道如何在php应用程序中创建插件时使用它,因为这是我的主要目的。

到目前为止,我还没有找到任何体面的例子。我想要了解使用observable制作插件的概念,并且一个好的和简单的例子会很好。

通过制作一个插件,我的意思是拥有一个标准的应用程序,并希望为每个客户做一些特别的事情,因为不是所有的客户都问同样的事情,我可以给他们所有相同的应用程序,所以这些想法所以要制作一个标准的应用程序并为每个客户端配置它,我理解这样的东西被调用来制作一个插件,它可以用观察者来完成。

2 个答案:

答案 0 :(得分:0)

如果您想根据用户或应用程序/服务操作实现某种自定义触发器/操作,Observer / Observable模式将非常适合。

例如,身份/身份验证服务可能会使用某种 observer 实现可插入的体系结构,以便在某些用户进行身份验证或某些用户注册时让第三方插件执行某些操作。

它也应该在UI中工作,因为您可以根据用户交互显示菜单或添加一些可视组件。

答案 1 :(得分:0)

如果你想制作一个非常免费的基于插件的应用程序,你可能想要做一个稍微不同的版本。

实施集中的事件控制。

每个插件(作为您的控制器)在那里注册以通知某些事件。

现在,如果您想要访问某些功能,只需通过该中央事件控件调度特定事件即可。您不再需要知道哪个插件会响应您的活动,您只需要知道所述活动的界面以及您将获得的回复形式。

现在,多个插件可以在事件上注册,覆盖或扩展其他插件的结果。或者只是允许全新的活动。

这个应用程序结构需要一点耐心来正确创建所有需要的类,但最终产品是非常分离的 - >灵活。可以把它想象成MVC的一种形式,控制器不需要彼此了解,他们只知道在哪里以非常通用的形式提问。

(我听说Zend2尝试了类似的方法吗?)