關於如何在PHP應用程序中實現插件有共識嗎?在PHP應用程序中實現插件的設計模式
我看了一下observer pattern,它實際上只是一個通知系統,不允許代碼直接擴展應用程序。我目前使用的是我想出了一個簡單的吊鉤系統:
public function registerHook($hookName, array $params = array())
{
$this->hooks[] = $hookName;
foreach ($this->plugins as $pluginName => $hooks) {
if (in_array($hookName, $hooks)) {
$plugin = new $pluginName($this, $this->view, $this->controller);
$plugin->{$hookName}($params);
}
}
}
這非常適用於我的目的,但我很好奇,如果有一個設計模式,在那裏,已經過測試和驗證過很多次,我只是在重新發明輪子。
我建議看看它如何與Wordpress工作。我不知道我自己,但我有一種感覺,它使用鉤子,BOY wordpress有很多插件。好問題,upvoted。 – Relequestual 2012-02-11 23:48:50
@Relequestual我熟悉WordPress,他們採取了一種程序性的方法與「行動」。 http://codex.wordpress.org/Function_Reference/add_action – 2012-02-12 00:00:56
我要說這個問題不是一個騙局,但在某種程度上它是。似乎共識是在這裏討論http://stackoverflow.com/questions/42/best-way-to-allow-plugins-for-a-php-application – Relequestual 2012-02-12 00:04:33