首页 > 解决方案 > PHP Laminas PHPStan - 调用未定义的方法 Laminas\Stdlib\RequestInterface::isPost()

问题描述

我们在 laminas 项目上运行 phpstan 并遇到错误。

例如,在控制器中,我们有一些可以正常工作的标准代码。

$request = $this->getRequest();

if ($request->isPost()) { ... }

然而 phpstan 抱怨:

调用未定义的方法 Laminas\Stdlib\RequestInterface::isPost()

问题似乎是 getRequest() 实际上返回了 Laminas\Http\PhpEnvironment\Request 的一个实例,它确实从 Laminas\Http\Request 继承了 isPost 函数。但是RequestInterface中没有定义这个函数。

一种解决方案是在 RequestInterface 中定义 isPost,尽管我更愿意避免更改供应商代码。

有没有更好的方法来解决这个问题?

标签: methodsundefinedlaminasphpstan

解决方案


推荐阅读