Después de investigar un poco, finalmente encontré la respuesta a una pregunta que pronto iba a preguntar aquí; ¿Cómo se trabaja con arrays a través de los métodos mágicos __get
y __set
en PHP? Cada vez que intentaba establecer un valor usando algo como $object->foo['bar'] = 42;
, parecía descartarlo silenciosamente.Usando __set con matrices resueltas, pero ¿por qué?
De todos modos, la respuesta es simple; El método __get
simplemente tiene que regresar por referencia. Y después de lanzar un signo de unión delante de él, por supuesto, funciona.
Mi pregunta es, ¿por qué? No puedo entender por qué esto está funcionando. ¿Cómo afecta el __get
que regresa por referencia a __set
trabajar con matrices multidimensionales?
Editar: Por cierto, se ejecuta PHP 5.3.1
Al parecer, en la toma de PHP 5.2.x __get devolver una referencia no ayuda. – Vlad