不在对象上下文php中使用$this-如何修复?

不在对象上下文php中使用$this-如何修复?,php,Php,我有一个私人变量: $test; 我希望访问函数内部: private function whatever(){ function getTest(){ var_dump($this->test); } } 我得到一个错误: Using $this when not in object context php 如何修复此问题?不能以这种方式使用实例的对象。只需将getTest用作类对象的常规方法: private function whateve

我有一个私人变量:

$test;
我希望访问函数内部:

private function whatever(){

     function getTest(){
        var_dump($this->test);
     }
}
我得到一个错误:

Using $this when not in object context php

如何修复此问题?

不能以这种方式使用实例的对象。只需将getTest用作类对象的常规方法:

private function whatever(){
    $this->getTest();

}

function getTest(){
    var_dump($this->test);
}

您不能以这种方式将对象用作实例,而是将其用作类的常规方法,例如

 class MyClass {
    private function whateverFunction(){
        $this->getTestFunction();

    }

   public function getTestFunction(){
        var_dump($this->test);
    }
  }

您在简单函数中使用$this,而不是在对象中。为什么要在另一个函数中创建getTest函数?您不在对象内部。这是一个抽象的示例,我无法更改getTest方法,因为这是其他方法的一部分。getTest不是一个开始的方法,因为它没有附加到类。使用函数getTest所做的是声明一个新的全局函数;这可能并不像你想象的那样有效。你必须澄清这个问题的目的。这个问题的内容太少。有足够的证据来说明问题所在,但由于你拒绝每个建议是因为你显然无法改变的事情,这只是猜测是否会找到正确的答案。请提供如何使用方法和函数的上下文,以及不能更改的部分。不能将方法移出任何位置method@panthro它不是一种方法。这是一个简单的全局函数。你为什么不能把它搬出去?