TYPO3 Extension-Tipp #2: rector

Wer kennt nicht das leidige Thema von TYPO3 Updates und das vorherige Anpassen und Migrieren von TYPO3 Extensions. Diese mühselige Arbeit kann nun mithilfe von Rector wesentlich vereinfacht und beschleunigt werden.

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 installierencomposer 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:

Passend zu diesem Thema:

TYPO3 10 Update

TYPO3 10 Update

Die Zeit von TYPO3 9 neigt sich langsam dem Ende zu, der LTS (Long Term Support) endet bereits mit 30. September 2021, somit ist bereits jetzt der bes…

TYPO3 v11.5 LTS Release

TYPO3 v11.5 LTS Release

Die neue LTS Version TYPO3 11.5 ist da. Wir haben die wichtigsten Infos und Features der neuen Version hier zusammengefasst.

TYPO3 Extension-Tipp #1: ke_search

TYPO3 Extension-Tipp #1: ke_search

Wenn man eine Suche für TYPO3 benötigt, wird man schnell in Form von Indexed Search, die bei TYPO3 standardmäßig on Board ist, fündig. Wer aber trotz …