Я вижу, что новыми запланированными функциями для PHP 5.4 являются: черты, разыменование массива, интерфейс JsonSerializable и что-то называемое "closure $this support
"
http://en.wikipedia.org/wiki/Php#Release_history
В то время как остальные либо сразу очищаются (JsonSerialiable, разыменование массива), либо я искал специфику (черты), я не уверен, что такое "закрытие $этой поддержки". Я неудачно искал его или нашел что-нибудь об этом на 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;
}
};
Значение (даже если этот пример тривиален) состоит в том, что в прошлом, как только замыкание строится, фиксированные переменные "use" фиксированы. С "закрытием $этой поддержки" они больше похожи на членов, с которыми вы можете столкнуться.
Звучит ли это правильно и/или близко и/или разумно? Кто-нибудь знает, что означает это "закрытие $этой поддержки"?