ubuntuusers.de

Migration von Zend Framework zu Laminas

Dieser Artikel wurde für die folgenden Ubuntu-Versionen getestet:

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

Das Zend Framework (ZF) gab es seit 2005 und wurde gesponsert von der Firma Zend, die auch die Zend Engine, den Compiler von PHP, maßgeblich mit entwickelt. 2019 wurde entschieden, dass das Framework nicht mehr von der Firma Zend betreut wird. Vielmehr soll das Sponsoring und Weiterentwicklung jetzt unter dem Dach der Linux Foundation 🇬🇧 herstellerneutral und weiterhin als Open Source (New BSD License) geschehen. Im Zuge dessen gab es auch eine Namensänderung. Das Framework heißt jetzt seit Anfang 2020 Laminas.[3] Außer der Namensänderung gab es aus der Sicht eines PHP-Entwicklers bisher keine großartigen Veränderungen, so dass jemand, der mit ZF vertraut ist, sich mühelos in Laminas zurecht finden kann.

Zwar gibt es die alten ZF-Pakete noch auf Github. Dies sind jedoch archiviert und sollten daher tunlichst nicht mehr verwendet werden. Eine Migration bestehender ZF-Installationen auf Laminas ist die empfohlene Vorgehensweise. Die Umstellung auf Laminas ist jedoch erstaunlich einfach und schnell zu bewerkstelligen.

Achtung!

Bis einschließlich Ubuntu 18.10 ist noch Zend Framework 1 in den Paketquellen (universe) enthalten und hat dort den Paketnamen zend-framework. Ebenso sind noch vereinzelte Komponenten von Zend Framework 2 (universe) aus den Ubuntu Paketquellen installierbar (php-zend-*). Alle dies Pakete werden nicht mehr mit Updates versorgt und sollten auf keinen Fall mehr genutzt werden.

Vorbereitung

Richtige Composer-Version

Am einfachsten geht die Migration mithilfe von Composer.[2] Es wird die Composerversion 1.7.0 oder höher benötigt. Erst ab Ubuntu 19.04 wird diese Voraussetzung erfüllt. Unter Ubuntu 16.04 (Composerversion: 1.0) und Ubuntu 18.04 (Composerversion: 1.6) muss daher zunächst eine manuelle Installation von Composer erfolgen. Ein Anleitung dazu gibt es hier in der Wiki im Composer Artikel.

Die installierte Version lässt sich so ermitteln:

composer --version 

Laminas Migrationstool installieren

Systemweit

Systemweit, genauer gesagt für ein Ubuntu-Benutzerkonto, sind folgende Schritte (ohne Rootrechte) erforderlich:

composer global require laminas/laminas-migration 

Damit das Tool ohne Pfadangabe genutzt werden kann, kann man es der Datei ~/.profile hinzufügen. Dazu diese Zeile in einem Editor hinzufügen:

1
export PATH="$HOME/.composer/vendor/laminas/laminas-migration/bin:$PATH"

Manuell

Natürlich kann man das Tool auch mit dem absoluten Pfad aufrufen, wenn man eine sytemweite Installation nicht wünscht. Dazu laminas-migration in einem beliebigen Verzeichnis folgendermaßen installieren:

composer require laminas/laminas-migration 

Ein Projekt umstellen

Achtung!

Bevor ein ZF-Projekt auf Laminas umgestellt wird, sollte eine vollständige Sicherheitskopie aller Dateien im Projektverzeichnis in ein separates Verzeichnis erstellt werden, um Datenverlust zu vermeiden.

Ins Hauptverzeichnis des ZF-Projekts wechseln und das Tool folgendermaßen starten:

laminas-migration migrate 

Beziehungsweise bei einer nicht-systemweiten Installation:

/PFAD-ZUM-LAMINAS-MIGRATION-TOOL/vendor/bin/laminas-migration migrate 

Für ein ZF-Projekt, das der Standardstruktur entspricht, also mit den Unterverzeichnissen module/, vendor/, public/ etc, sollte dies problemlos funktionieren. Bei einer abweichenden Struktur sollte man gegebenenfalls Verzeichnisse, die außer der Reihe existieren, von der Migration ausschließen. Angenommen, man hat im Wurzelverzeichnis des ZF-Projektes ein Verzeichnis namens meine-lib/ mit eigenen PHP-Bibliotheken, so kann man dieses wie folgt von der Migration ausschließen:

laminas-migration migrate --exclude meine-lib 

Nun noch die neuen Abhängigkeiten installieren:

composer install 

Diese Revision wurde am 12. März 2020 12:33 von frustschieber erstellt.
Die folgenden Schlagworte wurden dem Artikel zugewiesen: Programmierung, Composer, Framework, Webanwendung, Internet, Server, PHP, Installation