有没有办法让 PhpStorm 的自动完成“更深入"?

2023-10-12php开发问题
1

本文介绍了有没有办法让 PhpStorm 的自动完成“更深入"?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

在 PhpStorm 中,如果我创建了一个对象,那么我会在该对象上自动完成所有工作:

In PhpStorm, if I create an object, then I have all auto complete on that object working fine:

$object = new MyClass();
$object->getNa...

将自动完成

$object->getName();

到目前为止一切顺利,但如果我通过第一种方法返回一个对象,那么自动完成将无法处理.

So far so good, but if I get returned an object through the first method, then the auto complete will not work on that.

$car->getDriver()->getNam...

将显示一个空列表.getDriver 方法将其 PHPDoc @return 标记设置为Driver",但在其他一些 IDE 中,因此这有助于获得正确的自动完成.

Will show an empty list. The getDriver method has its PHPDoc @return tag set to 'Driver' though and in some other IDEs, this therefore works to get the correct auto complete.

想知道我是否遗漏了某个设置,或者 PhpStorm 是否还没有提供这种高级自动完成功能?

Wondering if there's a setting that I missed somewhere or if PhpStorm doesn't offer this kind of advanced auto complete yet?

推荐答案

getDriver() 函数需要适当的返回值类型提示(函数的文档块):

The function getDriver() needs appropriate type-hints for the return value (function's docblock):

  * @return classOrInterfaceName

这通常足以让 IDE更深入".我很确定 Phpstorm 支持它,但我不是 Phpstorm 用户.

This is normally enough to have a IDE "go deeper". I'm pretty sure Phpstorm supports that, but I'm not a Phpstorm user.

注意接口/类的文件是否在项目中或被引用.

Take care the file with the interface/class is within the project or referenced to it.

作为一种变通方法,您可以将返回值分配给一个变量并对该变量进行类型提示.可能不太舒服,但可以提供帮助.

As a work around you can assign the return value to a variable and type-hint that variable. Might not be that comfortable but can help.

这篇关于有没有办法让 PhpStorm 的自动完成“更深入"?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

The End

相关推荐

PHP实现DeepL翻译API调用
DeepL的翻译效果还是很强大的,如果我们要用php实现DeepL翻译调用,该怎么办呢?以下是代码示例,希望能够帮到需要的朋友。 在这里需要注意,这个DeepL的账户和api申请比较难,不支持中国大陆申请,需要拥有香港或者海外信用卡才行,没账号的话,目前某宝可以...
2025-08-20 php开发问题
168

PHP通过phpspreadsheet导入Excel日期数据处理方法
PHP通过phpspreadsheet导入Excel日期,导入系统后,全部变为了4开头的几位数字,这是为什么呢?原因很简单,将Excel的时间设置问文本,我们就能看到该日期本来的数值,上图对应的数值为: 要怎么解决呢?进行数据转换就行,这里可以封装方法,或者用第三方的...
2024-10-23 php开发问题
287

mediatemple - 无法使用 codeigniter 发送电子邮件
mediatemple - can#39;t send email using codeigniter(mediatemple - 无法使用 codeigniter 发送电子邮件)...
2024-08-23 php开发问题
11

Laravel Gmail 配置错误
Laravel Gmail Configuration Error(Laravel Gmail 配置错误)...
2024-08-23 php开发问题
16

将 PHPMailer 用于 SMTP 的问题
Problem with using PHPMailer for SMTP(将 PHPMailer 用于 SMTP 的问题)...
2024-08-23 php开发问题
4

关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题
Issue on how to setup SMTP using PHPMailer in GoDaddy server(关于如何在 GoDaddy 服务器中使用 PHPMailer 设置 SMTP 的问题)...
2024-08-23 php开发问题
17