如何在Laravel 10+PHPStan中忽略“访问未定义属性”错误
解决Laravel Resource被PHPStan报“访问未定义属性”的正则配置
针对LocationResource的精准正则
如果只想忽略LocationResource的这类错误,使用以下正则表达式:
#Access to undefined property App\\Http\\Resources\\LocationResource::\$[a-zA-Z0-9_]+\\.#
匹配所有Resource类的通用正则
如果要忽略所有Laravel Resource组件的这类属性访问错误,调整为:
#Access to undefined property App\\Http\\Resources\\.*Resource::\$[a-zA-Z0-9_]+\\.#
配置到phpstan.neon文件
在你的phpstan.neon中找到或新增parameters.ignoreErrors节点,添加对应规则:
parameters: ignoreErrors: # 仅忽略LocationResource的错误 - '#Access to undefined property App\\Http\\Resources\\LocationResource::\$[a-zA-Z0-9_]+\\.#' # 若要覆盖所有Resource类,替换为下面这条 # - '#Access to undefined property App\\Http\\Resources\\.*Resource::\$[a-zA-Z0-9_]+\\.#'
正则说明
#作为正则定界符,避免与路径中的斜杠冲突App\\Http\\Resources\\LocationResource::匹配目标Resource类的完整命名空间,双反斜杠是Neon文件的转义要求\$[a-zA-Z0-9_]+匹配任意合法的属性名(以$开头,包含字母、数字、下划线)\\.匹配错误信息末尾的句号,同样需要转义
内容的提问来源于stack exchange,提问作者Dom
相关产品推荐
相关产品推荐

