Traits é um mecanismo para o reuso de código em linguagens que não trabalham com herança multipla, como o PHP. Foram criadas para reduzir alguma limitações da "herança simples" possibilitando o desenvolvedor a reusar conjuntos de métodos livremente em suas classes independentemente da hirarquia a qual ela pertence.
Uma Trait é similar a uma classe, mas possui apenas um grupo métodos e propriedades que serão usados pelas nossas classes. Não é possível instanciar uma Trait diretamente. ela é uma adição a herança tradicional e possibilita a "composição horizontal de comportamento", que é a aplicação de membros a uma classe sem o uso de herança.
Vamos a um exemplo de uso:
<?php
trait HelloWorld {
public function sayHello() {
echo 'Hello World!';
}
}
class TheWorldIsNotEnough {
use HelloWorld; // Aqui estou dizendo que minha classe usará os métodos da Trait HelloWorld
}
$o = new TheWorldIsNotEnough();
$o->sayHello();
?>
Saída:
Hello World!
O grande lance das Traits é que podemos usar várias em uma mesma classe e dessa forma prover conjuntos de funcionalidades diferentes sem que seja necessário o uso da herança.
A intenção aqui foi apenas apresentar o novo recurso, caso queiram conhecer mais sobre o assunto acessem http://www.php.net/manual/en/language.oop5.traits.php
Comentários
Postar um comentário
Deixe aqui sua opinião ou dúvida: