Entiendo, pero si por eso lo usas "siempre" estarías haciendo una regla de una excepción y tendrías un montón de getters/setters que llevan tiempo codear (todo suma
) y crean "ruido". Es mas facil de leer el $this que tener q ir siempre al get a ver que hace.
Con respecto al ejemplo creo q hacerlo en el get es un poco tarde, poco semantico (estas haciendo un set) y hard.
Código PHP:
Ver originalclass A{
private $miServicio;
private $id;
private $contador;
public function __construct($id, $contador){
$this->id = $id;
$this->contador = $contador;
}
public function setServicio($otroServicio = null)
{
$this->miServicio = (null !== $otroServicio && $otroServicio instanceof ServicioInterface) ? $otroServicio($this->id) : new Servicio($this->id);
}
public function usar($otroServicio = null)
{
$this->setServicio($otroServicio); //Lo necesito, lo seteo.
$this->miServicio->hacer();
}
}