配列が事前定義された配列の形状に従って作成されているものの、その形状で定義されている必須のキー/エントリをすべて提供していない場合を報告します。
このインスペクションは、必須のエントリがないことが原因で配列をインスタンス化する際に実行時の問題が発生する可能性のある状況を特定し、コードの一貫性と定義された構造への固守を強化するのに役立ちます。
埋め込まれたコードスニペット:
function connect(#[ArrayShape([
'path' => 'string',
'host' => [
'name' => 'string',
'port' => 'int'
]
])] array $options = []) { };
connect(['host' => ['name' => 'localhost', 'port' => 1234]]); // 'path' キーがありません