Ich habe eine Webapplikation mit Zend Framework gebaut, die eine Menge von Modulen enthält. Diese Module sind alle "optional" und dienen dazu, erweiterte Funktionen verfügbar zu machen. Einige dieser Module schreiben ihre eigenen Protokolle usw. Ich habe darüber nachgedacht, wie man die Installation und Deinstallation für diese Module implementiert.Wie implementieren Modul Installation und Deinstallation mit Zend Framework
Zuerst war meine Idee, jedes Modul eine InstallationController
, UninstallController
usw. zu haben und diese die Installation behandeln lassen. Aber dann fing ich an, über einen Ansatz nachzudenken, der beinhalten würde, dass jedes Modul install.ini
, uninstall.ini
usw. enthält. Dann hat der Kern die Funktionalität, diese zu zerlegen und darauf zu reagieren. Ein Beispiel für ein uninstall.ini
für das Modul foo
Datei
[save_logs]
folder.remove.data.foo
folder.remove.modules.foo
file.remove.configs.foo
[complete : save_logs]
file.remove.logs.foo
db.table.truncate.foo_table1
db.table.truncate.foo_table2
Dann würde der Benutzer mit den Optionen von Complete
oder Save Logs
präsentiert werden, während der Deinstallation des foo
Modul ausgeführt wird. Einer der Vorteile, die ich mit diesem Ansatz sehen kann, ist eine gemeinsame Kernmechanik, die alle Operationen behandelt, und die Tatsache, dass während der Deinstallation kein Code tatsächlich Teil des Moduls foo
ist.
Ich habe noch nie diese Art der Installation/Deinstallation/Update-Unterstützung auf einer Webapp vor so irgendwelche Ideen und Tipps wäre nett gewesen.
Ich mag diese Frage, weil sie ein Problem anspricht, mit dem ich mich bald beschäftigen werde. – markus
BTW. Ich kann natürlich ein wenig Rep erhalten. Wenn das nicht genug gute Antworten gibt, würde ich mich freuen, ein Kopfgeld zu sponsern. – markus
Sie könnten den folgenden Vorschlag interessant finden: http://framework.zend.com/wiki/pages/viewpage.action?pageId=16023853 – jah