| ||||
Respuesta: se pueden pasar objetos como parametros? Si se puede, aunque creo que es preferible por referencia para no crear una nueva instancia del objeto y que los cambios aplicados esten vigentes al salir de la funcion.
Código php:
Ver original Para mi es mas util no pasar objetos como parametros, mejor declararlos con la directiva global donde lo necesite. |
| ||||
Respuesta: se pueden pasar objetos como parametros? En PHP4, se pasan por valor, en PHP5 se pasan por referencia, por ende si estas usando PHP5, ya no es necesario usar &. Saludos. |
| ||||
Respuesta: se pueden pasar objetos como parametros? gracias a ambos por sus aportes, oye gatorv estas seguro de eso que dices de php5?? "en php5 se pasan los objetos por referencia por defecto" sin necesidad de explicitarlo con el & en la lista de parametros de la funcion??
__________________ "puedo detenerme, pero no retroceder, tengo que avanzar..." |
| ||||
Respuesta: se pueden pasar objetos como parametros? de hecho a partir de php5 se pasan por referencia (sólo confirmo lo que dice GatorV jeje).
__________________ Software libre para un mundo libre. Eventualmente en el foro. |
| ||||
Respuesta: se pueden pasar objetos como parametros? Lo raro es que esta caracteristica no se menciona en el manual de PHP: Cita:
Iniciado por php.net Note: El no utilizar el operador & causa que el objeto sea copiado en memoria. Si utilizamos $this en la clase, entonces actuaremos sobre la instancia actual de la clase. Las asignaciones sin & harán una copia de la instancia (por ejemplo, del objeto) y $this operará en la copia, lo que no siempre es el comportamiento deseado. Usualmente se desea utilizar una sola instancia, debido a razones de memoria y performance de la aplicación. Mientras que se puede utilizar @ para silenciar cualquier error en el constructor utilizando @new, esto no funciona cuando utilizamos &new. Esto es una limitación del Zend Engine y por lo tanto, resultará en un error de sintáxis. |
| ||||
Respuesta: se pueden pasar objetos como parametros? Gracias, GatorV, solo una precision, no se envia el objeto como referencia, de hecho, la variable contiene solamente el identificador (o apuntador) al objeto real, de manera que: $obj1 = $obj2; Por medio de ambas variables puedes acceder al mismo objeto. Hoy aprendi otra cosa nueva |