声明类型提示时,PhpStorm 是不是允许跳过 PHPDoc 标记?

Posted

技术标签:

【中文标题】声明类型提示时,PhpStorm 是不是允许跳过 PHPDoc 标记?【英文标题】:Does PhpStorm allow to skip PHPDoc tags when type hints is declared?声明类型提示时,PhpStorm 是否允许跳过 PHPDoc 标记? 【发布时间】:2019-12-23 05:47:51 【问题描述】:

我使用 php 严格类型 declare(strict_types=1); 并通过项目声明类型。我还在 PhpStorm 中启用了 PHPDoc 检查,例如 Argument PHPDoc missingMissing @return tag 等。 当我有明确的返回类型和参数类型声明时,我希望 PhpStorm 不显示有关 PHPDoc 的警告。

这里是关于 PhpStorm 的有效示例代码。

    /**
     * @param Request $request
     * @return JsonResponse
     * @throws DBALException
     */
    public function find(Request $request): JsonResponse
    
        $user = $this->repository->find($request->get('id'));
        if (!$user) 
            throw new NotFoundHttpException();
        
        return $this->json($user);
    

如我们所见,我有明确的参数类型Request $request 和返回类型: JsonResponse 声明,因此无需在PHPDoc 中重复它们。

我想从 PHPDoc 中排除这一行

    /**
     * @param Request $request
     * @return JsonResponse
     */

没有来自 PhpStorm 的警告,但仅在我声明了类型提示的情况下。尽管如此,当我的代码没有类型提示时,我希望看到警告。

有可能实现吗?如果没有,是否存在一些 JetBrains 票,或者是否有一些插件/工具可以解决我的问题?

【问题讨论】:

类似问题:***.com/q/57347491/783119。这是我迄今为止最好的比赛:youtrack.jetbrains.com/issue/WI-38844 @LazyOne,感谢您的澄清。原来 PHPStorm 已经有了这个选项。请参阅我自己的答案。 【参考方案1】:

我自己发布答案。

原来有PHP检查的配置选项(PHPStorm 2019.2版本):

使用返回类型提示忽略 PHPDoc(默认禁用) 允许带有类型提示的缺失参数(默认禁用)

【讨论】:

他们似乎已经取消了这个选项:(使用PhpStorm 2021.1.2

以上是关于声明类型提示时,PhpStorm 是不是允许跳过 PHPDoc 标记?的主要内容,如果未能解决你的问题,请参考以下文章

PHPStorm 类型提示不同类型的数组

为啥 PhpStorm 会报“参数类型不匹配”错误?

phpstorm 生成带有类型提示的设置器

PhpStorm - 类型提示差异

Netbeans 和 PHPStorm 中的变量类型提示

派生类返回值的 PhpStorm 类型提示