Ver Mensaje Individual
  #19 (permalink)  
Antiguo 01/08/2008, 11:29
Avatar de Genetix
Genetix
 
Fecha de Ingreso: febrero-2002
Ubicación: Lima - Perú
Mensajes: 1.600
Antigüedad: 22 años, 3 meses
Puntos: 45
Respuesta: LLamar a metodo abuelo.

Lo ideal seria que se mejore el diseño para no tener problemas futuros.

Una solución que se me ocurrió seria esto, talvez no sea lo mejor, pero te puede ayudar.
Código PHP:
class {
     public function 
elMetodo() {
              echo 
"soy el metodo especial de A";
     }
}

class 
extends {
      public function 
elMetodo() {
               echo 
"Yo soy el metodo sobrecargado en B";
               
parent::elMetodo();
      }
}

class 
{
      
      private 
$_classA;
      private 
$_classB;
      
      public function 
__construct(A $classAB $classB ){
        
$this->_classA $classA;  
        
$this->_classB $classB;
      }
      
      public function 
getComponent($component){
        switch(
$component){
            case 
'A':
                return 
$this->_classA;
                break;
            case 
'B':
             return 
$this->_classB;
             break;
        }
     }
      
}

$c = new C(new A(), new B());
$c->getComponent('A')->elMedoto() //soy el metodo especial de A
$c->getComponent('B')->elMedoto() //Yo soy el metodo sobrecargado en B 
Investiga sobre Dependence Injection creo que ahí podría estar la solución a tu problema.

Saludos
__________________
"El conocimiento nos hace responsables."
twitter: @benjamingb
blog personal: http://codigolinea.com
ZF Manual en español http://manual.zfdes.com