PHP 5.4 - 'cierre $ este soporte'
Veo que las nuevas características planificadas para PHP 5.4 son: rasgos, desreferenciación de matrices, una interfaz JsonSerializable y algo denominado 'closure $this support
'
http: //en.wikipedia.org/wiki/Php#Release_histor
Mientras que los otros están claros de inmediato (JsonSerialiable, desreferencia de matriz) o busqué los detalles (rasgos), no estoy seguro de qué 'cierre $ este soporte' es. No he podido buscar en Google o encontrar algo al respecto en php.net
Alguien sabe qué se supone que es esto?
Si tuviera que adivinar, significaría algo como esto:
$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;
}
};
La importancia (incluso si este ejemplo es trivial) es que en el pasado una vez que se construye el cierre, las variables de 'uso' vinculadas son fijas. Con el 'cierre $ este soporte' son más como miembros con los que puedes meterte.
¿Suena esto correcto y / o cercano y / o razonable? ¿Alguien sabe lo que significa este 'cierre $ este apoyo'?