Php 从扩展类调用函数的最佳方法

Php 从扩展类调用函数的最佳方法,php,class,phpstorm,extends,Php,Class,Phpstorm,Extends,我使用phpstorm作为IDE。在我的class.php中,我以 class MyClass extends Database{ function sample(){ $this->query(); } } 查询在类数据库中。但是phpstorm显示了一个警告 Method 'query' not found in class MyClass. Referenced method is not found in subject class. 但该功能

我使用phpstorm作为IDE。在我的class.php中,我以

class MyClass extends Database{
    function sample(){
        $this->query();
    }
}
查询在类数据库中。但是phpstorm显示了一个警告

Method 'query' not found in class MyClass. Referenced method is not found in subject class. 
但该功能工作正常,没有任何问题


这种代码样式有什么问题吗?还是我需要尝试不同的方法?我搜索了很多网站。但是没有得到正确的答案。请帮忙。谢谢。

问题是,在实例化类之后,需要从方法调用类中的所有内容,或者从类外部调用类中的所有内容

不能在类的方法范围之外使用$this

编辑,OP更改问题:

对我来说很好,没有警告


这是否有效?

这是显示错误的实际代码段吗?很抱歉信息丢失。那代码运行得很好。我现在用代码编辑了它:$此->查询;应该在方法内部。如果没有屏幕截图/正确的代码,我们将无法帮助您。因为现在根据您提供的代码示例,您似乎不知道PHP是如何工作的。@MarvinSaldinger,是的。对不起。我想补充一下。但在我的实际代码中,它在一个方法中。和显示警告。现在警告是问题中的上一个错误,它显示了多个类定义存在的多个警告parent@Arun这意味着您的项目中有多个数据库类—这是怎么可能的?多个名为的类在执行时将导致错误。正当这里没有这样的东西happened@Arun怎么可能呢?检查您的项目-我如何知道您是如何设置的以及您正在使用哪些库?多个名为的类在执行时将导致错误。正当仅当您同时导入这两个文件时。否则不会。但从IDE的角度来看,它不知道使用哪个类。这不是一个错误。只是PHPStorm发出的警告。如果我将鼠标悬停在查询上,它会显示消息try to invalidate your cache and restart phpstorm,这可能是缓存/索引问题
class MyClass extends Database{
   function sample(){
       parent::query();
   }
}