Creo entonces deberías de ver como trabaja PHP:
Código PHP:
Ver originalfunction foo($foo) {
// haces algo con $foo
}
foo($foo); // Aqui PHP crea una copia de tu variable y la pasa a foo()
foo(&$foo); // Aqui PHP crea una referencia de tu variable y la pasa a foo()
Al usar dentro de un método:
Código PHP:
Ver originalpublic function foo() {
$foo = $this->foo; // Copia de $this->foo a $foo
$foo =& $this->foo; //Referencia a $this->foo
}
Todo esto es válido para variables nativas, cuando hablas de objetos estos siempre son pasados por referencia.
Ahora cuando te digo que todo depende es de la cantidad de información que vayas a estar pasando, no es lo mismo pasar un string de 5 carácteres, a un string de 5000 carácteres. Así que pues te repito lo mismo:
Depende.
Saludos.