我正在尝试在我的 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 工作?