Muchas gracias a ambos. Solo hay una cosa, respecto a mi primera pregunta no me quedó clara la respuesta.
Estoy probando lo siguiente en cuatro archivos en el mismo directorio:
clase A (archivo ca.php)
Código PHP:
Ver originalclass A{
public function methodA(){
echo "A";
}
}
trait B (archivo trait.php)
Código PHP:
Ver originalrequire_once 'ca.php';
trait B{
public function methodA(){}
}
clase C (archivo cc.php)
Código PHP:
Ver originalrequire_once 'trait.php';
class C{
use B;
}
archivo action.php (simplemente para instanciar la clase C)
Código PHP:
Ver originalrequire_once 'cc.php';
$o=new C();
$o->methodA();
Y no imprime "A".
En cambio si coloco todo en el mismo archivo
Código PHP:
Ver originalclass A{
public function methodA(){
echo "A";
}
}
trait B{
public function methodA(){}
}
class C{
use B;
}
$o=new C();
$o->methodA();
Sí imprime "A"
¿Por qué sucede esto?
En los ejemplos del manual lo explican como si todo fuera en el mismo archivo, pero ¿cómo utilizar los traits cuando los ubicamos en archivos distintos?
Un saludo! :D