我看到PHP 5.4的新计划功能是:特征,数组解引用,JsonSerializable接口和称为“ closure $this support
”的东西。
http://en.wikipedia.org/wiki/Php#Release_history
尽管其他人要么立即清楚(JsonSerialiable,数组取消引用),要么我查看了具体细节(特征),但我不确定“关闭$ this支持”是什么。我一直在搜寻它或在php.net上找到关于它的任何内容均未成功
有人知道这应该是什么吗?
如果我不得不猜测,那就意味着这样:
$a = 10; $b = 'strrrring';
//'old' way, PHP 5.3.x
$myClosure = function($x) use($a,$b)
{
if (strlen($x) <= $a) return $x;
else return $b;
};
//'new' way with closure $this for PHP 5.4
$myNewClosure = function($x) use($a as $lengthCap,$b as $alternative)
{
if(strlen($x) <= $this->lengthCap)) return $x;
else
{
$this->lengthCap++; //lengthcap is incremented for next time around
return $this->alternative;
}
};
重要性(即使该示例是微不足道的)是,在过去,一旦构造了闭包,绑定的“使用”变量就被固定了。有了“ closure $ this support”,他们更像是您可以弄乱的成员。
这听起来是否正确和/或接近和/或合理?有人知道“关闭此支持”意味着什么吗?