muy grande, muy bueno, muchas gracias, yo tampoco se si sera la mejor manera, pero desde luego es la mas limpia, aunque cuidado con esta clase y las interfaces que implementa, en concreto este metodo, ArrayObject::exchangeArray() ya que simplemente observarlo:
http://www.php.net/manual/es/arrayobject.exchangearray.php
tenemos en las contribuciones de los usuarios que recibe la referencia del array y al cambiar algo en el array referenciado nos lo cambiará en el mismo, en nuestro caso no hay ningun problema ya que el array es $this, pero para confirmarlo, tenemos esta nota de Dmitri
Código:
It seems that input array is always passed by reference.
For example if you have an existing array
$array with some values
then you have an arrayobject $o
and then you do this:
$o->exchangeArray($array);
$o->offsetSet('somekey', 'some value');
Now if you check your $array array, it will have
a key 'somekey' with value of 'some value'
I totally did not expect that, I am sure it was a mistake to pass array by reference by default.