CommunityRecherche & Datenanalysegithub.com

netresearch/php-modernization-skill

Agent-Fähigkeit: PHP 8.x Modernisierungsmuster – Typisierung, Attribute, PHPStan | Claude Code kompatibel

Was ist php-modernization-skill?

Diese Agent-Fähigkeit (Skill) befähigt KI-Assistenten wie Claude Code dazu, PHP-Codebasen systematisch auf PHP 8.x zu modernisieren. Sie stellt strukturierte Anweisungen und Muster bereit, um Typdeklarationen hinzuzufügen, PHP 8.x-Attribute zu verwenden und statische Analysen mit PHPStan zu integrieren. Der Skill deckt typische Modernisierungsschritte ab, wie das Ersetzen von PHPDoc-`@param`/`@return` durch native Typen, das Umwandeln von `@var`-Annotations in `assert()`-Aufrufe und die Konfiguration von PHPStan für maximale Strenge. Entwickler und Teams, die auf PHP 8.1+ migrieren, profitieren von konsistenten, automatisierten Refactoring-Vorschlägen, die direkt in der CLI mit Claude Code ausgeführt werden können. Ziel ist es, die Codequalität zu verbessern, Fehler durch fehlende Typen zu vermeiden und die Wartbarkeit durch moderne PHP-Features zu erhöhen.

Funktioniert mit✓Claude Code~Codex CLI~Cursor
npx skills add netresearch/php-modernization-skill

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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 typsichere assert()-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

  1. Keine PHPDoc-Typen ohne native Deklaration belassen.
  2. Existierende Funktionalität darf nicht geändert werden.
  3. Jede Änderung muss von PHPStan bestätigt werden.
  4. Bei Unklarheiten den Nutzer um Entscheidung bitten.

Lizenz

MIT

Verwandte Skills