Revista Informática

¿Que son los traits en php?

Publicado el 14 agosto 2015 por Jocual

Trai… ¿Qué? Esa misma pregunta me he hecho yo cuando oí por primera vez la palabra, que que son los traits en PHP, pues bien es una manera de reutilizar e insertar código en cualquier clase que queramos sin utilizar herencia.

Imaginemos que tenemos varias clases que utilizan las mismas funciones, pero no tienen nada en común, digamos que no son un subtipo de otro tipo común a las dos.

¿Qué hacemos en este caso? Lo primero que se nos ocurre es inyectar un objeto que tenga dicha funcionalidad en ambos objeto y de esta forma no estamos duplicando código y lo hacemos a mi forma de pensar, de la forma correcta.

Peso si no queremos hacerlo de esta forma, insisto la correcta para mi, tenemos los treats, es una forma de insertar código de forma más sencilla y más rápida, pero en mi opinión menos correcta en cuanto a lo que orientación a objetos se refiere.

Pues bien, ¿como se hace un treat? Muy sencillo, primero tenemos que definirlo, al igual que una clase pero con la palabra reservada “treat”:

treat MiTreat
{

public $atributo;

 public function funcion1()
{

 $this->atributo = 'VALOR';
 }

 public function funcion2(array $params)
{
 //...
 }
 

¿Y para usarlo en nuestra clase?

class MiClase
{
use MiTreat;
}

De esta forma la clase MiClase tendrá el atributo público “atributo” y los métodos “funcion1″ y “funcion2″.


Volver a la Portada de Logo Paperblog