問題タブ [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.
php - phpstan: 派生クラスの戻り値の型を処理する方法
phpstan
このサンプル コードで生成されたエラーを修正する正しい方法は何ですか? エラーメッセージは次のとおりです。
Method Foo::foo() should return Child but returns Base.
}
エラーを解消する 1 つの方法は、次のように変更する@return
ことです。
foo()
しかし、のインスタンスを決して返さないため、私はそれを大いに嫌いますBase
。コードは、派生クラスでのみ機能しChild
ます。実際、インターフェイスと基本クラスはどちらもライブラリ (依存関係) にあるため、ほとんどの場合、そのコードを変更することさえできません。
a()
次のようにChild
クラスに再実装できます。
しかし、それは醜いことでもあり、さらに悪いことに、これはおもちゃの例です。実際のクラスでは、多くのメソッドを再実装する必要があります。ひどい。
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を動作させることができますか?