Was macht wp-php8-migration-claude-skill?
🚀 Migrieren Sie Ihre WordPress-Projekte mühelos zu PHP 8.x mit strukturierter Unterstützung für neue Funktionen und Strategien zur Abwärtskompatibilität.
Übersicht
Diese Fertigkeit hilft Entwicklern, WordPress-Plugins, Themes und benutzerdefinierte Codebasen auf PHP 8.x zu migrieren. Sie automatisiert die Identifizierung von nicht kompatiblen Codeabschnitten, schlägt äquivalente moderne Konstrukte vor und bewahrt gleichzeitig das Verhalten des vorhandenen Codes.
Funktionen
- Automatisierte Code-Analyse: Scannt nach PHP-8.x-Kompatibilitätsproblemen wie veralteten Funktionen (
mysql_*,each), nicht typisierten Parametern und unsicheren Operatoren. - Migration von Typdeklarationen: Fügt Union Types,
mixed-Typen undstatic-Rückgabetypen hinzu, wo angemessen. - Verbesserte Fehlerbehandlung: Ersetzt
@-Operator durch try-catch-Blöcke und nutzt neueThrowable-Schnittstellen. - Performance-Optimierung: Schlägt Änderungen vor, um von der JIT-Kompilierung, dem
match-Ausdruck und Nullsafe-Operatoren zu profitieren. - Abwärtskompatibilität: Generiert Polyfills und Fallbacks für Umgebungen, die noch nicht vollständig auf PHP 8.x aktualisiert sind.
Unterstützte Plattformen
- Claude Code (Anthropic)
- Cursor
- Codex (GitHub Copilot)
- Andere KI-gestützte Entwicklungswerkzeuge
Verwendung
- Projekt analysieren: Führen Sie den Skill in Ihrem WordPress-Projektverzeichnis aus.
- Bericht prüfen: Der Skill listet Dateien und Zeilen mit Kompatibilitätsproblemen auf.
- Änderungen anwenden: Wählen Sie aus, ob Sie automatische Refactorings durchführen oder manuelle Anpassungen vornehmen möchten.
- Testing: Nach der Migration führt der Skill grundlegende Syntax-Checks und empfiehlt Teststrategien.
Beispiel
// Vorher (PHP 7.x)
function get_user($id) {
return array_key_exists('user', $GLOBALS) ? $GLOBALS['user'] : null;
}
// Nachher (PHP 8.x)
function get_user(int $id): ?User {
return $GLOBALS['user'] ?? null;
}
Konfiguration
Sie können die Migration anpassen, indem Sie die Datei .php8-migration.json im Stammverzeichnis Ihres Projekts ablegen:
{
"include_patterns": ["**/*.php"],
"exclude_patterns": ["vendor/**", "node_modules/**"],
"target_php_version": "8.2",
"strict_types": true,
"add_return_types": true
}
Fehlerbehebung
- Kompatibilitätsfehler: Wenn der Code nach der Migration nicht funktioniert, überprüfen Sie die erzeugten Polyfills und deaktivieren Sie nicht benötigte Transformationen.
- Performance-Probleme: JIT-Kompilierung erfordert PHP 8.0+ mit aktiviertem JIT in der
php.ini(opcache.jit=on). - Abhängigkeiten: Stellen Sie sicher, dass alle Composer-Pakete PHP 8.x unterstützen (
composer update --with-all-dependencies).
Lizenz
MIT