OXID 6 eshop で静的 PHP コード分析を実行しようとしています。
ただし、これに関してはレンガの壁にぶつかっています。
実行するvendor/bin/phpstan analyse --configuration phpstan.neon source/modules/myvendor/mymodule
と、常に次のようなエラーが発生しClass mynamespace\Article_parent not found
ます。
これはおそらく、Oxid では eshop クラスが直接上書きされず、代わりに次のように宣言されているためです。
<?php
namespace mynamespace;
class Article extends Article_parent
{
...
そしてmetadata.php
、上書きされたクラスが定義されています:
'extend' => [
\OxidEsales\Eshop\Application\Model\Article::class => \mynamespace\Article::class,
],
Phpstan はこれを解決できないようです。このような多くの異なる構成ファイルを試しました。
parameters:
level: max
inferPrivatePropertyTypeFromConstructor: true
autoload_files:
- vendor/oxid-esales/oxideshop-ce/source/oxfunctions.php
- vendor/oxid-esales/oxideshop-ce/source/overridablefunctions.php
またはこれ
parameters:
level: 7
autoload_files:
- vendor/oxid-esales/testing-library/base.php
- vendor/oxid-esales/oxideshop-ce/source/oxfunctions.php
- vendor/autoload.php
しかし、役に立たない。どうすればphpstanを動作させることができますか?