Traits no PHP é um recurso que pode nos auxiliar e muito em nossos projetos, melhorando o reuso de código.
Antes de iniciarmos esse aprendizado, é interessante ressaltar que Traits é um recurso disponibilizado no PHP desde sua versão 5.4 lançada em 01/03/2012, com o intuito de melhorar o reuso de códigos.
Basicamente Traits são pequenos trechos de códigos, muito similar a classes abstratas onde não podemos instanciar uma trait, porém, com a diferença que podemos utiliza-lo em diversas classes ao mesmo tempo de forma independente.
Para nosso exemplo, utilizaremos a seguinte estrutura, crie um diretório chamado ecommerce.
Em seguida devemos criar a classe ShopCar.php, com a seguinte estrutura.
|
|
Como podemos observar, criamos uma classe simples com a finalidade comprar produtos.
Vamos rodar nosso projeto para analisar o resultado do código implementado até o momento.
Crie um arquivo chamado “index.php”, dentro dele devemos importar nossa classe e chamar o método buy(), veja o resultado da implementação abaixo:
|
|
Acesse com o terminal a raiz do projeto e insira o seguinte código:
|
|
Por final abra um navegador e acesse o projeto:
|
|
Como resultado temos:
|
|
Após validarmos nosso código, devemos agora criar nossa Trait com o seguinte nome ‘LogTrait.php’, onde será responsável por armazenar os logs necessários em nossa aplicação.
Observação: Apenas incluímos “Trait” em seu nome para fins didáticos, não sendo obrigatório o uso dessa prática.
|
|
Como podemos observar, iniciamos com a palavra reservada “trait” e criamos nosso método info().
com isso nossa primeira “trait” está finalizada! Viram como é simples, bom agora devemos consumir esse recurso. Abra a classe ShopCar para que possamos importar nossa trait. Veja o resultado da implementação abaixo:
|
|
Muito similar a uma class, porem chamamos nossa trait dentro da declaração da classe (declaramos ‘use’ dentro da classe), onde a partir disso temos o acesso ao método info() implementado em nossa trait.
Para analisar as novas implementações, basta acessar nosso projeto novamente e atualizar o nevegador, abaixo segue o resultado esperado:
|
|
Com isso implementamos nossa primeira trait de forma simples e rápida! Podemos utilizar quantas traits desejarmos em nossa classe, porém, devemos sempre utilizar com parcimônia para que nossa classe não se torne um monstrinho de 3 cabeças e 6 patas 🙂
Espero que tenham apreciado e que o conteúdo agregue valor em seus projetos, convido para que deixem um comentário caso tenham dúvida, critica, sugestões ou elogios.
Grande abraço e até a próxima! 🙂