2

laminas プロジェクトで phpstan を実行していて、エラーが発生しています。

例として、コントローラーには正常に動作する標準コードがあります。

$request = $this->getRequest();

if ($request->isPost()) { ... }

ただし、phpstan は不平を言っています。

未定義のメソッド Laminas\Stdlib\RequestInterface::isPost() の呼び出し

問題は、getRequest() が実際には Laminas\Http\Request から isPost 関数を継承する Laminas\Http\PhpEnvironment\Request のインスタンスを返しているようです。ただし、この関数は RequestInterface では定義されていません。

1 つの解決策は RequestInterface で isPost を定義することですが、ベンダー コードの変更は避けたいと思います。

これを回避するより良い方法はありますか?

4

0 に答える 0