rector - Was ist das eigentlich?
Im Grunde ist rector ein PHP-Paket, welches PHP-Code automatisiert verbessert und aktualisiert.
rector ist nicht nur hilfreich für TYPO3 Updates, sondern auch generell, um die PHP-Code Qualität zu verbessern.
Die Installation und Verwendung von rector ist relativ simpel und funktioniert ohne viel manuelle Konfiguration für die grundlegendesten Dinge. Bei Bedarf können jedoch auch eigene Regeln erweitert werden, um künftige Prozesse zu optimieren.
Hier gehts zum Package: https://packagist.org/packages/rector/rector
Installation und Konfiguration
Im Zuge eines TYPO3 Updates führt man im besten Fall zuerst das Update des TYPO3 Cores durch und installiert im 2. Schritt erst rector.
Achtung: Das Ausführen der Upgrade Wizards im TYPO3 Install Tool nicht vergessen ;)
# rector installieren
composer require --dev rector/rector
Nachdem das Paket installiert ist, wird folgender Befehl im gleichen Verzeichnis ausgeführt, in der sich auch die composer.json des Projektes befindet:
# rector initalisieren und als template type TYPO3 angeben
./vendor/bin/rector init --template-type=typo3
Durch das Initialisieren wird eine Datei mit dem Namen rector.php erstellt, diese enthält nun bereits die Standardkonfiguration und kann nun an die gewünschten Anforderungen angepasst werden.
Eine ausführliche Dokumentation zu den Konfigurationsmöglichkeiten findest du hier.
# hier kann z.B.: eine vordefinierte Liste angegeben werden zur TYPO3 Version
$containerConfigurator->import(Typo3LevelSetList::UP_TO_TYPO3_11);
...
# die PHP Version wird in folgendem Statement definiert
$parameters->set(Option::PHP_VERSION_FEATURES, PhpVersion::PHP_74);
Nachdem man die Konfiguration nach seinen Wünschen angepasst hat, führt man zuerst einen Dry-Run (Testlauf) aus, um zu sehen, welche Änderungen durchführt werden würd, ohne die Anpassungen direkt zu übernehmen. Dann können noch eventuelle Anpassungen in der Konfiguration vorgenommen werden.
# Testlauf durchführen und Ergebnisse überprüfen
./vendor/bin/rector process extensions/va_template --dry-run
Nach dem erfolgreichen Testlauf, kann mit dem nächsten Befehl der eigentliche Prozess gestartet werden. Dieser verändert den Code in den Dateien, benennt ggf. Dateien um und erstellt neue.
# rector ausführen und Änderungen in Dateien vornehmen
./vendor/bin/rector process extensions/va_template
Nach dem erfolgreichen Durchlauf, steht einem ausgiebigen Test nichts mehr im Weg. Durch die Verwendung von rector hat man nicht nur unglaublich viel Zeit gewonnen, die man sich durch zahlreiche Copy&Paste Arbeit erspart, gleichzeitig hat noch einen super Lerneffekt, wenn man die Änderungen, die durch rector erstellt wurden überprüft.
rector hat natürlich noch viel mehr Potential und wird stetig weiterentwickelt, es lohnt sich also hier mal einen Blick in die Dokumentation zu werfen und sich über die neuesten Features einen Überblick zu verschaffen. Auch gibt es dort zahlreiche Code-Beispiele zu finden, was rector alles bietet: https://github.com/sabbelasichon/typo3-rector/blob/main/docs/examples_in_action.md
Außerdem kann rector auch für andere PHP-Projekte, die nicht auf TYPO3 basieren genutzt werden - hier wirft man am besten direkt einen Blick in die allgemeine PHP-Paket Doku auf Github https://github.com/rectorphp/rector.
Wir entwickeln digitale Lösungen mit Leidenschaft
Warum wir das tun? Weil die Verwirklichung Ihrer Vision unser größter Anspruch und die schönste Anerkennung ist. Deshalb nehmen wir uns gerne ausreichend Zeit für die Realisierung Ihres digitalen Projekts.
Kontaktieren Sie uns, wir sind gerne für Ihre Fragen da: