Plugin

Mit Plugins kann die Funktionsweise der Anwendung erweitert werden.

Vorraussetzungen

In der system.ini müssen die Einträge für die Plugins definiert sein.

; Plugins einbinden
IncludeApplicationPlugins=*

[IncludeApplicationPlugins]
; Konfiguration für das Einbinden von Plugins

Registrieren der Plugins

Die Klasse Alvine\Dispatcher\Unit\IncludeApplicationPlugins includiert die Plugins. Es können Phars oder Order mit den Plugins verwendet werden.

Source

In dem enable Ordner werden weitere Ordner angelegt, der Name des Ordners ist frei definierbar. Inerhalb des Ordners muss die Pluginstruktur haben ab den Ordner application

Phars

Die Phars werden direkt in dem enable Ordner abgelegt.

Installation eines Plugins

Ein Plugin kann über den Befehl alvine-platform plugin:install installiert werden.

alvine-platform plugin:install \
            --source /tmp/hello-world.zip  \
            --update

Die Option --update sorgt dafür, dass ein bereits bestehendes Plugin überschrieben wird.

Vor der Installation wird die Methode Component::checkCompatibility() aufgerufen und die Kompatibilität des Plugins überprüft.

Die Dateien des Plugins werden ausgepackt und in das Vendor-Verzeichnis alvine-application-plugins/available gespeichert. Ein Link im Verzeichnis enabled aktiviert das Plugin.

Beim aktivierne wird die Methode Component::install() des Plugins ausgeführt.

Plugins schreiben Ihre Webdateien nach web/vendor/plugins/ und Ihre Routen nach config/route/plugins/.

Deinstallation eines Plugins

Ein Plugin kann über den Befehl alvine-platform plugin:uninstall deinstalliert werden.

alvine-platform plugin:uninstall \
                    --component-class \\My\\Plugin\\HelloWorld\\Componen  \
                    --remove

Die Option --remove sorgt dafür, dass alle Plugindateien vom System gelöscht werden.

Beim deaktivieren wird die Methode Component::uninstall() des Plugins ausgeführt und um alle Referenzen im System zu entfernen.