Есть ли согласие относительно того, как плагины должны быть реализованы в приложении PHP?
Я посмотрел на шаблон наблюдателя , который приближается, на самом деле это просто система уведомлений и не позволяет коду напрямую расширять приложение. В настоящее время я использую простые системы хуков, которые я придумала:
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);
}
}
}
Это хорошо работает для моих целей, но мне любопытно, есть ли там шаблон проектирования, который был проверен и проверен много раз, и я просто заново изобретаю колесо.