このレポは、静的分析ツールで使用する自動生成されたWordPressスタブが含まれています。
このプロジェクトの目的は次のとおりです。
fixtures.phpファイルでスタブを宣言することにより、機能、クラス、およびインターフェイスのWordPress宣言をオーバーライドすることができます。そうすれば、WordPressで誤ったDocblockを修正し、静的アナライザーでサポートされている「Advanced」ドキュメントブロックを使用するのは簡単です(配列の形状、タイプエイリアス、条件付きリターンタイプを考えてください…)毎日、GitHubアクションワークフローがWP.org APIを呼び出して、新しいWordPressバージョンを見つけます。
新しいバージョンを見つけた場合、「最新の」スタブも更新しながら、スタブを生成および保存します(https://github.com/php-stubs/generatorを使用)。
主な使用法は、静的分析ツール、たとえば詩編などです。
"require-dev"プロパティにこのプロジェクト( inpsyde/wp-stubs )が必要ですpsalm.xml configファイルを作成します(ドキュメントを参照)< stubs >
< file name = " vendor/inpsyde/wp-stubs/stubs/latest.php " />
</ stubs > latest.php特定のWPバージョンに置き換えることができます。 /stubsディレクトリの使用可能なバージョンを参照してください。
注:そのフォルダーでは、 5.9のような2桁のバージョン番号は、必ずしもWordPressバージョン5.9意味するわけではなく、最新の5.9.*シリーズです。したがって、作曲家を使用してWordPressを要求し、 5.9.*のような要件を持っている場合、 stubs/5.9.phpスタブファイルを使用すると、現在インストールされているバージョンと一致します。
「スタブ」フォルダーには、選択できるように多くのバージョンのスタブが含まれていますが、異なるバージョンをロードして異なるスタブに対してテストするCIスクリプトを用意することもできます。
ただし、パッケージのサイズは大きくなる可能性があり、IDEの分析から除外されていない場合、IDEパフォーマンスに影響を与える可能性があります。
composer.jsonで、次のようなリポジトリを宣言します。
{
"repositories" : [
{
"type" : " composer " ,
"url" : " https://raw.githubusercontent.com/inpsyde/wp-stubs/main " ,
"only" : [
" inpsyde/wp-stubs-versions "
]
}
]
}Inpsyde開発者向けの注:プライベートパッカジストのInpsyde組織は、上記のリポジトリを反映しているため、Inpsydeのプライベートリポジトリでは、プライベートパッケージ師がRepoの
composer.jsonにすでに追加されることを考慮して、これはおそらく必要ないでしょう。
"require-dev"プロパティの「バージョン」プロジェクトEG { "require": { "inpsyde/wp-stubs-versions": "dev-latest" } }要求します。 (パッケージ名がどのように追加-versionsれているかに注意してください)psalm.xml configファイルを作成します(ドキュメントを参照)< stubs >
< file name = " vendor/inpsyde/wp-stubs-versions/latest.php " />
</ stubs >このアプローチを使用して、最新バージョンが唯一のバージョンのコンポーザーのダウンロードになります。
スタブを生成するコードには、PHP 8.0+が必要です。ただし、パッケージを消費する場合、WordPressを実行できる以外に最小要件はありません。
このリポジトリはフリーソフトウェアであり、MITライセンスの条件の下でリリースされます。完全なライセンスについてはライセンスを参照してください。