[英]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.