【发布时间】:2020-07-22 15:54:24
【问题描述】:
我正在尝试在我的 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 工作?
【问题讨论】: