你知道它不是在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”是一个受保护的变量,所以在这个方法中仍然没有看到它。那么如何解决这个问题?
答案 0 :(得分:3)
使用班级中的设置功能
public function setParam($param) {
$this->parameters = $param;
}
然后在你的匿名函数中
$thisObj->setParam(1);