我想在下面的示例中访问testProperty
,但这是在嵌套函数内(扩展twig,它必须嵌套),但它当然说
“在不在对象上下文中时使用$ this。”
我根本无法打开现有的“公共功能”。有谁知道如何解决这个问题?
我想在整个班级中使用全局变量,而不使用全局变量。
class test
{
private testProperty;
public function testFunction() {
function abc() {
var_dump($this->testProperty)
}
}
}
答案 0 :(得分:0)
我没有像我想要的那样完全解决问题,但我确实在我的文档中修复了它。我把我的功能放在了外面并公之于众,只是将我的abc()更改为$ this-> abc()真的对我的疏忽
答案 1 :(得分:0)
如果我对您尝试实现的目标的猜测是正确的,您可能需要执行以下操作:
class test
{
private $testProperty = "whatever";
public function testFunction() {
$abc = function() {
var_dump($this->testProperty);
};
$abc();
}
}
$x = new test;
$x->testFunction();
由于$abc
现在是一个匿名函数,因此在类方法中使用时,它具有$this
变量。
上面的代码将输出:
string(8) "whatever"