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.