quinta-feira, 15 de dezembro de 2011

Traits. Novo mecanismo para reuso de código inserido no PHP 5.4.


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

Nenhum comentário:

Postar um comentário

Deixe aqui sua opinião ou dúvida:

Ocorreu um erro neste gadget