繁体   English   中英

在php(5.3!)中的anonymus函数中使用$ this及其受保护变量

[英]Use $this and its protected variable in anonymus functions in php (5.3 !)

你知道它不是在PHP 5.3中工作,而是在5.4中,所以有一点解决方法:

$thisObj = $this;
$thisObj->parameters = 1; // works!
$result = $this->method(function() use ($returnThisIndex, $thisObj) {
    $thisObj->parameters = 1; // wont work! Its a protected variable!
});

所以在这里我将一个函数传递给一个方法。 问题是,“parameters”是一个受保护的变量,所以在这个方法中仍然没有看到它。 那么如何解决这个问题呢?

使用班级中的设置功能

public function setParam($param) {
     $this->parameters = $param;
}

然后在你的匿名函数中

$thisObj->setParam(1);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM