Ver Mensaje Individual
  #20 (permalink)  
Antiguo 11/02/2013, 18:00
Avatar de dashtrash
dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años
Puntos: 270
Respuesta: Nueva versión de PHP 5.4

Otro ejemplo:
Código PHP:
Ver original
  1. trait uno {
  2.     public function A()
  3.     {
  4.        $this->h=1;
  5.        $this->B();
  6.     }
  7.     private function B()
  8.     {
  9.        $h++;
  10.        echo $h;
  11.     }
  12. }
  13. trait dos {
  14.  
  15.     public function A()
  16.     {
  17.        $this->h=3;
  18.        $this->B();
  19.     }
  20.     private function B()
  21.     {
  22.        $this->h--;
  23.        echo $this->h;
  24.     }
  25. }
  26.  
  27. class prueba
  28. {
  29.     use uno,dos {
  30.         uno::A insteadof dos;
  31.         dos::B insteadof uno;
  32.     }
  33. }
  34.  
  35. $c=new prueba();
  36. $c->A();
Qué valor se imprime?
Cero (0)
La clase que usa los traits, está alterando el funcionamiento interno de los mismos...Esto es un antipatrón OOP.