问题
我最近开始使用 PHPStan 来分析我的Laravel项目的代码,但我一直收到以下错误models
:
------ --------------------------------------------------------------------
Line Models/Fund.php
------ --------------------------------------------------------------------
14 PHPDoc tag @mixin contains unknown class App\Models\IdeHelperFund.
Learn more at https://phpstan.org/user-guide/discovering-symbols
------ --------------------------------------------------------------------
代码
这是触发错误的代码:
<?php
namespace App\Models;
/**
* Class Fund
*
* @package App\Models
* @mixin IdeHelperFund
*/
class Fund extends Model
{
//...
}
这mixin
是通过运行Laravel IDE-helper包php artisan ide-helper:models -M
所需的命令添加的,顾名思义,该命令将 IDE 的 docblocks 添加到 Laravel 的typehint魔术方法中。
因此,我尝试使用以下代码通过忽略错误来解决此问题:
includes:
- ./vendor/nunomaduro/larastan/extension.neon
parameters:
paths:
- app
# The level 8 is the highest level
level: 5
ignoreErrors:
-
message: '#PHPDoc tag @mixin contains unknown class App\\Models\\IdeHelper(.*)+\.#'
path: Models/*
excludePaths:
checkMissingIterableValueType: false
但不知何故,在 Regexr 测试正则表达式时错误不匹配工作正常。
有什么建议我做错了吗?我注意到他们#
在正则表达式的开头和结尾添加的忽略错误文档中,所以我已将其添加到我的 phpstan 配置中,但我不确定这是否是必需的,但如果没有它们,我会收到以下错误(所以我把它们留在里面):
-- ------------------------------------------------------------------------------------------------------------------------------------
Error
-- ------------------------------------------------------------------------------------------------------------------------------------
Delimiter must not be alphanumeric or backslash in pattern: PHPDoc tag @mixin contains unknown class App\\Models\\IdeHelper(.*)+\.
-- ------------------------------------------------------------------------------------------------------------------------------------
附加信息
我正在使用默认的larastan版本0.7.12
扩展。