Ver Mensaje Individual
  #1 (permalink)  
Antiguo 18/05/2014, 09:08
quico5
 
Fecha de Ingreso: enero-2008
Mensajes: 581
Antigüedad: 17 años, 2 meses
Puntos: 9
POO - herencia multiple

he estado buscando información sobre la herencia múltiple en POO, y he encontrado el siguiente código, parece que PHP5 no lo permite y en su lugar parece que algunas personas implementan alternativas, no se si esta es la forma mas adecuada, la razón de querer implementarla se debe a imitar algunos frameworks que pintan el HTML mediante un objeto

Código PHP:
echo $html->input('text','required'
Código PHP:
echo $html->link('http://google.es','google'
Código PHP:
echo $html->link('http://google.es'


Código PHP:
<?php

trait Base1 
{  
   public function 
hola($nombre) {  
     return 
"Hola1: {$nombre}";  
   }  
   public function 
adios($nombre){  
     return 
"Adios1: {$nombre}";  
   }  
   private function 
prueba(){  
     return 
"Esto es una prueba";  
   }  
 }  
 
trait Base2 {  
   public function 
hola($nombre) {  
     return 
"Hola2: {$nombre}";  
   }  
   public function 
adios($nombre){  
     return 
"Adios2: {$nombre}";  
   }  
   private function 
nombreHorrible(){  
     return 
"Voy a tener que cambiar el nombre";  
   }  
 }  
 class 
Ejemplo2 {  
   use 
Base1,Base2 {  
     
Base1::hola insteadof Base2;  
     
Base2::adios insteadof Base1;  
     
Base1::adios as alternativo;  
     
prueba as public;  //solo cambiamos visibilidad
     
nombreHorrible as public cambio;  // cambiamos visibilidad y aplicamos alias
   
}  
 }  
 
$e = new Ejemplo2();  
 echo 
$e->hola('Ivan') . "<br/>";  
 echo 
$e->adios('Ivan') . "<br/>";  
 echo 
$e->alternativo('Ivan') . "<br/>";  
 echo 
$e->prueba() . "<br/>";  
 echo 
$e->cambio() . "<br/>"  

?>

Última edición por quico5; 18/05/2014 a las 09:21