不在对象上下文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它不是一种方法。这是一个简单的全局函数。你为什么不能把它搬出去?