Rector aktualisiert und überarbeitet den PHP-Code Ihrer Anwendung sofort. Es kann Ihnen in zwei Hauptbereichen helfen:
Rector unterstützt jetzt Upgrades von PHP 5.3 auf 8.4 und große Open-Source-Projekte wie Symfony, PHPUnit und Doctrine. Möchten Sie ohne Aufwand ständig auf dem neuesten Stand von PHP und Framework sein ?
Nutzen Sie Rector, um sofortige Upgrades für Sie durchzuführen.
Verfügen Sie über die Codequalität, die Sie benötigen, haben aber Schwierigkeiten, diese bei neuen Entwicklern in Ihrem Team aufrechtzuerhalten? Möchten Sie intelligente Codeüberprüfungen sehen, auch wenn alle leitenden Entwickler schlafen?
Fügen Sie Rector zu Ihrem CI hinzu und lassen Sie es Ihren Code kontinuierlich umgestalten und die Codequalität hoch halten.
Lesen Sie unseren Blogbeitrag, um zu erfahren, wie Sie automatisiertes Refactoring einrichten.
composer require rector/rector --dev
Es gibt im Wesentlichen zwei Möglichkeiten, Rector zu verwenden:
Um sie zu verwenden, erstellen Sie eine rector.php
in Ihrem Stammverzeichnis:
vendor/bin/rector
Und modifizieren Sie es:
use Rector Config RectorConfig ;
use Rector TypeDeclaration Rector Property TypedPropertyFromStrictConstructorRector ;
return RectorConfig:: configure ()
// register single rule
-> withRules ([
TypedPropertyFromStrictConstructorRector::class
])
// here we can define, what prepared sets of rules will be applied
-> withPreparedSets (
deadCode: true ,
codeQuality: true
);
Dann Probelauf Rektor:
vendor/bin/rector process src --dry-run
Rector zeigt Ihnen die verschiedenen Dateien, die geändert werden sollen . Um die Änderungen vorzunehmen , lassen Sie --dry-run
fallen:
vendor/bin/rector process src
Sind Sie neugierig, wie Rector intern arbeitet, wie Sie Ihre eigenen Regeln erstellen und testen und warum Rector geboren wurde? Lesen Sie „Rector – The Power of Automated Refactoring“, das Sie Schritt für Schritt durch die Rector-Einrichtung und die Erstellung eigener Regeln führt.
Die Rector-Community ist dank aktiver Betreuer, die sich um Rector-Sets für bestimmte Projekte kümmern, leistungsstark.
Zu diesen Projekten gehören:
Rector ist ein Tool, das wir kostenlos entwickeln und teilen, damit jeder sein Refactoring automatisieren kann. Aber nicht jeder hat Dutzende von Stunden Zeit, um die Komplexität des abstrakten Syntaxbaums in seinem eigenen Tempo zu verstehen. Deshalb bieten wir kommerziellen Support – um Ihnen Zeit zu sparen .
Möchten Sie Rector auf Ihrer Codebasis anwenden, haben aber keine Zeit für die Auseinandersetzung mit Ihrem Projekt? Beauftragen Sie uns, um schneller ans Ziel zu kommen.
Sehen Sie sich den Beitragsleitfaden an oder gehen Sie zum Entwicklungs-Repository rector/rector-src.
Sie können die Option --debug
verwenden, die die Ausgabe verschachtelter Ausnahmen ausgibt:
vendor/bin/rector process src/Controller --dry-run --debug
Oder mit Xdebug:
--xdebug
hinzu, wenn Sie Rector ausführen vendor/bin/rector process src/Controller --dry-run --xdebug
Um das einfache Debuggen zu erleichtern, stellt Rector zwei Helfer zum hübschen Drucken von AST-Knoten bereit:
use PhpParser Node Scalar String_ ;
$ node = new String_ ( ' hello world! ' );
// prints node to string, as PHP code displays it
print_node ( $ node );
Rector verwendet nikic/php-parser, der auf einer Technologie namens Abstract Syntax Tree (AST) basiert. Ein AST kennt keine Leerzeichen und erzeugt beim Schreiben in eine Datei schlecht formatierten Code sowohl in PHP- als auch in Docblock-Annotationen.
Der Rector im Parallelmodus funktioniert in den meisten Fällen für die meisten Betriebssysteme. Unter Windows können Probleme auftreten, die nicht gelöst werden können, obwohl Sie die Anleitung zur parallelen Fehlerbehebung befolgt haben. Überprüfen Sie in diesem Fall, ob Sie Powershell 7 (pwsh) verwenden. Ändern Sie Ihr Terminal zur Eingabeaufforderung (cmd) oder Bash für Windows.
Ihr Projekt muss über ein Codierungsstandardtool und eine Reihe von Formatierungsregeln verfügen , damit der Ausgabecode von Rector wieder schön und glänzend wird.
Wir verwenden ECS für dieses Setup.
Wenn Sie Änderungen an Dateien mit PHP- und HTML-Inhalten vornehmen, müssen Sie die geänderte Datei möglicherweise manuell überprüfen, nachdem Sie die Änderungen übernommen haben.