問題タブ [phpstan]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2337 参照

php - phpstan: 派生クラスの戻り値の型を処理する方法

phpstanこのサンプル コードで生成されたエラーを修正する正しい方法は何ですか? エラーメッセージは次のとおりです。

Method Foo::foo() should return Child but returns Base.

}

エラーを解消する 1 つの方法は、次のように変更する@returnことです。

foo() しかし、のインスタンスを決して返さないため、私はそれを大いに嫌いますBase。コードは、派生クラスでのみ機能しChildます。実際、インターフェイスと基本クラスはどちらもライブラリ (依存関係) にあるため、ほとんどの場合、そのコードを変更することさえできません。

a()次のようにChildクラスに再実装できます。

しかし、それは醜いことでもあり、さらに悪いことに、これはおもちゃの例です。実際のクラスでは、多くのメソッドを再実装する必要があります。ひどい。

0 投票する
2 に答える
578 参照

oxid - Phpstan Class_parent が見つかりません

OXID 6 eshop で静的 PHP コード分析を実行しようとしています。

ただし、これに関してはレンガの壁にぶつかっています。

実行するvendor/bin/phpstan analyse --configuration phpstan.neon source/modules/myvendor/mymoduleと、常に次のようなエラーが発生しClass mynamespace\Article_parent not foundます。

これはおそらく、Oxid では eshop クラスが直接上書きされず、代わりに次のように宣言されているためです。

そしてmetadata.php、上書きされたクラスが定義されています:

Phpstan はこれを解決できないようです。このような多くの異なる構成ファイルを試しました。

またはこれ

しかし、役に立たない。どうすればphpstanを動作させることができますか?