Note

The online documentation is produced by a web publishing technology created by us to read the documents origins in OpenOffice Writer (ODT) and Microsoft Word (docx) formats and produces native web and PDF versions. In this way we maintain Louder project documentation update and in sync on each of its formats.
Select a Language:
Componente PluginManager
Introducción
Este componente permite administrar los plugins cargados en una aplicación facilitando el agregar ó quitar dinámicamente plug-ins.
Arquitectura de Plug-Ins
Kumbia Enterprise Framework proporciona una arquitectura de Plug-Ins flexible que permite notificar y registrar eventos desde los diferentes componentes del framework.
Autoinicialización de Plug-Ins
Por defecto los plug-ins encontrados en el directorio de plugins son cargados automáticamente por el administrador de plug-ins. Cuando hay muchos plug-ins ó estos no son usados frecuentemente entre peticiones pueden causar un deterioro en el rendimiento de la aplicación.

En el archivo config/config.ini es possible configurar que los plug-ins no sean cargados automáticamente sino que tengan que ser cargados programacionalmente asi:

Ejemplo: Hacer que los plug-ins no sean cargados automáticamente
[plugins]
autoInitialize = Off

En este caso es necesario registrar los plugins que se vayan a utilizar en tiempo de ejecución.
API de PluginManager
static function boolean initializePlugins()
Inicializa los plugins cargados separandolos de acuerdo a su naturaleza: De controlador, modelos, vistas y aplicación. No debería ser invocado por el desarrollador ya que es llamado automáticamente por el contenedor de aplicaciones.

static function array loadApplicationPlugins()
Carga los plugins almacenados en el directorio plugins ó el indicado en la variable de configuración pluginsDir.

static function array getPlugins()
Obtiene un array con todas las instancias de los plugins registrados en la petición actual.

static function array getControllerPlugins()
Obtiene un array con todas las instancias de los plugins de controlador registrados en la petición actual.

static function array getModelPlugins()
Obtiene un array con todas las instancias de los plugins de modelos registrados en la petición actual.

static function array getViewPlugins()
Obtiene un array con todas las instancias de los plugins de presentación registrados en la petición actual.

static function void notifyFromApplication(string $event)
Permite notificar a los plug-ins de aplicación sobre un evento determinado $event.

static function void notifyFromController(string $event, Controller $controller)
Permite notificar a los plug-ins de controlador sobre un evento determinado $event.

static function void notifyFromView(string $event, ControllerResponse $controllerResponse)
Permite notificar a los plug-ins de presentación sobre un evento determinado $event.

static function void notifyFrom(string $component, string $event, string $reference)
Permite notificar a los plug-ins de componentes sobre un evento determinado $event.

static function void registerControllerPlugin(ControllerPlugin $plugin)
Permite registrar un objeto como plugin de controlador. Solo los eventos producidos despues de realizar el registro del plugin de controlador.

static function void registerApplicationPlugin(ApplicationPlugin $plugin)
Permite registrar un objeto como plugin de controlador. Solo los eventos producidos despues de realizar el registro del plugin de aplicación.

static function void registerViewPlugin(ViewPlugin $plugin)
Permite registrar un objeto como plugin de presentación. Solo los eventos producidos despues de realizar el registro del plugin de presentación.