Was macht php-modernization-skill?
Agent-Fähigkeit: PHP 8.x Modernisierungsmuster – Typisierung, Attribute, PHPStan | Claude Code kompatibel
Übersicht
Diese Fähigkeit versetzt KI-Agenten in die Lage, PHP-Codebasen auf PHP 8.x zu modernisieren, indem sie:
- Fehlende Typdeklarationen zu Methodenparametern, Rückgabewerten und Eigenschaften hinzufügen
- PHPDoc-Kommentare durch native PHP 8.x-Attribute ersetzen (z. B.
#[\ReturnTypeWillChange],#[\Deprecated]) - PHPStan auf höchstem Level (Level 9) konfigurieren und korrigieren
@var-Annotations durch typsichereassert()-Aufrufe ersetzen
Verwendung
Starte die Modernisierung mit folgendem Befehl:
claude php-modernize
Muster
1. Typdeklarationen hinzufügen
Füge fehlende Typen aus PHPDoc oder Kontextinformationen hinzu.
Vorher:
/**
* @param string $name
* @return int
*/
function getLength($name) {
return strlen($name);
}
Nachher:
function getLength(string $name): int {
return strlen($name);
}
2. PHPDoc durch Attribute ersetzen
Ersetze veraltete PHPDoc-Markierungen durch PHP 8.x-Attribute.
Vorher:
/**
* @deprecated
*/
function oldMethod() {}
Nachher:
#[\Deprecated]
function oldMethod() {}
3. PHPStan-Konfiguration und -Fehlerbehebung
Konfiguriere PHPStan auf Level 9 und behebe gefundene Fehler.
composer require --dev phpstan/phpstan
vendor/bin/phpstan analyse --level=9 src/
4. @var-Annotations durch assert() ersetzen
Wandle statische Typannotationen in typsichere Behauptungen um.
Vorher:
/** @var string $value */
$value = getValue();
Nachher:
$value = getValue();
assert(is_string($value));
Kompatibilität
- Optimiert für: Claude Code (Anthropic)
- Getestet mit: PHP 8.1, 8.2 und 8.3
- Erfordert: PHPStan, Composer
Regeln
- Keine PHPDoc-Typen ohne native Deklaration belassen.
- Existierende Funktionalität darf nicht geändert werden.
- Jede Änderung muss von PHPStan bestätigt werden.
- Bei Unklarheiten den Nutzer um Entscheidung bitten.
Lizenz
MIT