Dieses Repo enthält automatisch generierte WordPress-Stubs, die mit statischen Analysewerkzeugen verwendet werden sollen.
Der Zweck dieses Projekts ist:
fixtures.php ist es möglich, die WordPress -Erklärung für Funktionen, Klassen und Schnittstellen zu überschreiben. Auf diese Weise ist es einfach, falsche Docblocks in WordPress zu beheben und "erweiterte" Dokumentblock zu verwenden, der von statischen Analysatoren unterstützt wird (denken Sie an Array -Form, Typ Aliase, bedingte Rückgabetypen…)Jeden Tag ruft ein GitHub Action Workflow die WP.org -API auf, um neue WordPress -Versionen zu finden.
Wenn es neue Versionen findet, generiert und spart es Stubs für sie (mit https://github.com/php-stubs/generator), während gleichzeitig der "neueste" Stub aktualisiert wird.
Die primäre Verwendung gilt für statische Analyse -Tools, beispielsweise Psalm:
inpsyde/wp-stubs ) in der Immobilie Ihres Komponisten "require-dev"psalm.xml -Konfigurationsdatei (siehe Dokumente)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > Sie können latest.php durch eine bestimmte WP -Version ersetzen. Siehe die verfügbaren Versionen im Verzeichnis /stubs .
Hinweis : In diesem Ordner bedeutet eine zweistellige Versionsnummer wie 5.9 nicht unbedingt WordPress Version 5.9 , sondern die neueste in der Serie 5.9.* . Wenn Sie also Composer verwenden, um WordPress zu benötigen und eine Anforderung wie 5.9.* Die Verwendung der stubs/5.9.php -Stubs -Datei stimmt mit der aktuell installierten Version überein.
Der Ordner "Stubs" enthält Stubs vieler Versionen, damit Sie wählen können, aber es wäre auch möglich, ein CI -Skript zu haben, das verschiedene Versionen lädt, um sie gegen verschiedene Stubs zu testen.
Die Paketgröße kann jedoch enorm werden, und wenn sie nicht von der Analyse von IDE ausgeschlossen ist, kann dies die IDE -Leistung beeinflussen.
Deklarieren Sie in Ihrem composer.json ein solches Repository:
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Hinweis für Inpsyde -Entwickler : Die Inpsyde -Organisation im privaten Packagisten spiegelt das obige Repository wider. Für die privaten Repositories von Inpsyde ist dies wahrscheinlich nicht erforderlich, wenn man bedenkt, dass der private Packagiker wahrscheinlich bereits zum Repo
composer.jsonhinzugefügt wird.
"require-dev" z { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } } . (Beachten Sie, wie der Paketname -versions angehängt ist)psalm.xml -Konfigurationsdatei (siehe Dokumente)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >Mit diesem Ansatz ist die neueste Version die einzige Version des Komponisten.
Der Code, der die Stubs generiert, erfordert PHP 8.0+. Beim Verbrauch des Pakets gibt es jedoch keine Mindestanforderungen, außer dass es WordPress ausführen kann.
Dieses Repository ist eine kostenlose Software und wird unter den Bedingungen der MIT -Lizenz veröffentlicht. Siehe Lizenz für die vollständige Lizenz.