当前位置: 首页 > 知识库问答 >
问题:

对于自定义类实例,PhpStorm“找不到要使用的声明”

卜泓
2023-03-14

PhpStom是我最喜欢的IDE,我每天都在使用它。目前我在一个使用自定义PHP框架的PHP项目上工作。这个项目和框架不遵循最佳PHP实践,也不专注于编写干净、可读的代码。

在源代码中,我们调用函数来获取一个类的新实例。例如:

cAlert()->addError('...')

函数cAlert在框架包含的PHP文件上声明:

function cAlert() {
    return c('Alert');
}

function c($className) {
    return ClassCall::getActive($className);
}

ClassCall 创建一个新实例或获取该类的活动实例。最后使用 Alert 类:

class Alert {
    public function addError($error) {
        ...
    }
}

在编辑源代码时,我想导航到方法的位置。这个PhpStorm/IntelliJ功能似乎并没有取消这种特定的架构。

PhpStorm找不到类<code>Alert</code>的<code>addError</code>方法的声明(但它当然可以找到<code>cAlert</code>方法)。

我知道PhpStom不能自动解析这个方法声明。

在我的示例中,是否可以配置IDE来手动链接< code>cAlert()和< code>Alert类?

共有1个答案

夏谦
2023-03-14

在声明返回哪个类的cAlert()函数上方添加一个PHPDoc:

/**
 * @return My\Application\Class
 */
function cAlert() {
    return c('Alert');
}

然后PHPStom知道要查找哪个类。

 类似资料:
  • 问题内容: 我有一个名为“威士忌制造商”的课程,它只会启动新的威士忌。现在,我想在“ WhiskyOverViewController”中添加新添加的威士忌。但是我面临以下问题: 在“ stringArray”行中,出现错误“实例成员’whiskyArray’无法用于类型’WhiskyOverViewController’。为什么不能在那里使用whiskyArray变量? 在此先感谢您的帮助 问题

  • 下面的代码没有给我正确的答案。 这给出; 一般来说,若给定了点的数组列表,我们如何在数组中找到特定点的索引?

  • 问题内容: 我使用以下代码创建一个自定义matplotlib图例。 1-图例中的白色符号不显示,因为默认 传奇背景也是白色的。如何设置图例背景 其他颜色? 2-如何将图例中的矩形符号改为圆形? 问题答案: 1可以使用“facecolor”参数设置图例的背景色, plt.图例(facecolor=“李子”) 2要获得圆形图例句柄,可以使用带有圆形标记的标准打印作为代理艺术家, plt.绘图([],[

  • 我正在尝试构建和运行一个在IntelliJ中使用slf4j日志记录的Spark网络服务器。它在最初用于添加日志记录的计算机上构建良好(也在IntelliJ中),但在我的机器上没有。 这是完整的<code>构建。gradle文件(请参阅,了解使用记录器的部分: 下面是使用记录器的代码: 这是我得到的错误: 我在StackOverflow上看了几个问题,但似乎都没有解决问题: java.lang.No

  • 我正在处理一个scala项目,这是我的规范: 我知道这里已经有人问过这个问题,但提供的解决办法并不奏效,我很绝望,我试过: 但这并不奏效。

  • 嗨,我正在尝试学习hashcode()和equals()方法的目的。我尝试了以下程序。 输出: 我有两个疑问: 1) 我认为HashMap将包含一个条目,因为两个对象(ob1和ob2)的hascode是相同的。有人能解释为什么HashMap中有两个条目吗? 2)为什么返回false?