Cita:
Iniciado por Herminio Heredia San Segun entiendo en la documentacion cuando devuelves una referencia mediante una funcion no es necesario referenciar lo que devuelves, es decir que con la modificacion que hiciste funciona como se espera, pero el caso anterior no. Yo creo que para eso hay muy poco que decir, sera una buena idea que lo publiques en la documentacion de php, por que el comportamiento me temo es cuestion de como el interprete usa la asigancion por referencia dentro de una funcion que devuelve una referencia en si, es decir hay que preguntarle a los desarrolladores si no se les "escapo" ese caso dentro de la programacion.
Hola Herminio:
Yo también estuve leyendo en la documentación.
Parece que el tema no tiene que ver con lo que devuelven las funciones. Es más, si no referencias lo que devuelves perderías la instancia (y utilizarías una copia).
El tema va por el lado de las palabra reservada "static". Según puedo ver, parece que al declarar una variable como "static", ésta automáticamente se referencia, por lo que utilizar el operador "&" provocaría un comportamiento no deseado (¿se des-referencia la variable?).
Conclusión: No se pueden guardar referencias en variables estáticas en PHP4.
Lo que hay que tener en cuenta es que no se produce ningún mensaje de error... simplemente se comporta de otra manera.
Aquí está bastante bien documentado.
http://www.php.net/variables.scope
Saludos