Ver Mensaje Individual
  #2 (permalink)  
Antiguo 10/03/2012, 18:09
Avatar de GatorV
GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Dudas con interfaces

Claro, la idea es que uses el type hinting con la clase base para que tu clase funcione de la manera que esta diseñada.

No, la herencia es cuando hay una relación de parentezco entre las dos clases, no solo se hereda por heredar (Lee sobre el principio de Liskov).

Ahora sí tu segunda clase solo va a usar un select para algo, no es correcto que ocupes la herencia, si no más bien tu segunda clase necesita de esa dependencia:

Código PHP:
Ver original
  1. class MyClass {
  2.        private $db;
  3.  
  4.        public function setDb(Db $db)
  5.        {
  6.                $this->db = $db;
  7.  
  8.                return $this;
  9.        }
  10.  
  11.        public function getDb()
  12.        {
  13.               return $this->db;
  14.        }
  15.  
  16.        public function makeFoo()
  17.        {
  18.               $result = $this->getDb()->select('foo');
  19.        }
  20. }

Ya que como tal no hay una relación de herencia, si no más bien de uso, lee sobre Dependency Injection para que entiendas como debes de relacionar tus clases.

Saludos.