PHP-Upgrades: Blockieren Sie Regressionen mit PHPStan
Foto von Ron McClenny auf Unsplash
Wenn Leute an PHPStan denken, denken sie oft an die Verbesserung der Typabdeckung. Das ist wirklich nur ein kleiner Teil dessen, wozu PHPStan fähig ist. In diesem Artikel erfahren Sie, wie Sie damit Upgrade-Regressionen stoppen können.
Was ist eine Upgrade-Regression?
Eine Upgrade-Regression liegt vor, wenn Ihre Anwendung über Funktionen verfügt, von denen Sie abrücken möchten. Dies kann Code innerhalb Ihrer Anwendung oder Code innerhalb einer von Ihnen installierten Abhängigkeit sein.
Wenn wir versuchen, Upgrades durchzuführen, können wir oft nicht alles auf einmal erledigen. Stattdessen müssen wir kleine inkrementelle Änderungen vornehmen. Gleichzeitig möchten wir nicht, dass andere Entwickler weiterhin veraltete Methoden und Eigenschaften verwenden. In dieser Situation sind diese neuen Methodenaufrufe usw. Rückschritte in Ihrem Fortschritt beim Upgrade Ihrer Anwendung.
Installation von PHPStan und der Deprecation Rules-Erweiterung
Um mit der Bewältigung von Upgrade-Regressionen zu beginnen, besteht der erste Schritt darin, PHPStan zu installieren, falls Sie dies noch nicht getan haben. Sie können es über Composer installieren:
composer require --dev phpstan/phpstan
Als nächstes möchten Sie die Erweiterung „Deprecation Rules“ hinzufügen, die speziell dabei hilft, die Verwendung veralteter Methoden, Eigenschaften und Klassen in Ihrer Codebasis zu verfolgen:
composer require --dev phpstan/phpstan-deprecation-rules
Nach der Installation können Sie PHPStan für die Verwendung der Veraltungsregeln konfigurieren, indem Sie es zu Ihrer phpstan.neon-Konfigurationsdatei hinzufügen:
includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon
Wenn Sie PHPStan mit diesem Setup ausführen, werden jetzt alle veralteten Methoden, Eigenschaften oder Klassen in Ihrer Codebasis gekennzeichnet. Dies ist ein wesentlicher Schritt zur Verhinderung von Upgrade-Regressionen, da Sie benachrichtigt werden, wenn veralteter Code verwendet wird. Anschließend können Sie diese Instanzen umgestalten, um sicherzustellen, dass Ihre Anwendung auf neuere, unterstützte Funktionen umsteigt.
Gehen Sie mit der Erweiterung „Unzulässige Anrufe“ noch weiter
Während die Deprecation Rules-Erweiterung veralteten Code abfängt, bietet die Erweiterung Disallowed Calls eine Möglichkeit, bestimmte Funktionsaufrufe, Methodenaufrufe oder sogar ganze Klassen zu blockieren, die Sie in Ihrer Codebasis nicht mehr zulassen möchten. Dies ist besonders nützlich für eine detailliertere Kontrolle Ihres Codes, z. B. Code, für den es keine Verfallswarnung gibt.
composer require --dev spaze/phpstan-disallowed-calls
Nach der Installation müssen Sie es in Ihrer phpstan.neon-Datei konfigurieren. Hier ist ein Beispiel dafür, wie Sie bestimmte Methodenaufrufe oder Funktionen verbieten können:
includes: - vendor/phpstan/phpstan-deprecation-rules/rules.neon # add the extension - vendor/spaze/phpstan-disallowed-calls/extension.neon parameters: # You can see more example at https://github.com/spaze/phpstan-disallowed-calls/blob/main/docs/custom-rules.md disallowedMethodCalls: - method: 'PotentiallyDangerous\Logger::log()' # `function` is an alias of `method` message: 'use our own logger instead' errorTip: 'see https://our-docs.example/logging on how logging should be used'Begin writing your own rules disallowedFunctionCalls: - function: 'var_dump()' # `method` is an alias of `function` message: 'use logger instead'
Diese Erweiterung ist ziemlich umfassend, sodass Sie die meisten Szenarien abdecken können. Natürlich kann es Situationen geben, die nicht funktionieren, und dafür ist es am besten, zu lernen, eigene Regeln zu schreiben.
Darauf werden wir in einem anderen Artikel näher eingehen.
Abschluss
Die Verwendung von PHPStan zum Abfangen von Upgrade-Regressionen ist eine clevere Möglichkeit, den Upgrade-Prozess zu vereinfachen, insbesondere in großen Entwicklungsteams. Anwenden von PHPStan auf Ihr Continuous-Integration-Setup
Das obige ist der detaillierte Inhalt vonPHP-Upgrades: Blockieren Sie Regressionen mit PHPStan. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

11 beste PHP -URL -Shortener -Skripte (kostenlos und Premium)

Arbeiten mit Flash -Sitzungsdaten in Laravel

Erstellen Sie eine React -App mit einem Laravel -Back -Ende: Teil 2, reagieren

Vereinfachte HTTP -Reaktion verspottet in Laravel -Tests

Curl in PHP: So verwenden Sie die PHP -Curl -Erweiterung in REST -APIs

12 Beste PHP -Chat -Skripte auf Codecanyon

Ankündigung von 2025 PHP Situation Survey
