Palavra-chave trait

A palavra-chave trait é usada para criar traits - um mecanismo de reutilização de código em PHP. Traits são semelhantes a classes, mas destinam-se a agrupar funcionalidades em unidades pequenas e compreensíveis. Elas podem ser incorporadas em classes usando a palavra-chave use.

Sintaxe

phptrait TraitName {
  // propriedades e métodos do trait
  public function method1() {
    // implementação
  }
}

Exemplo

Vamos criar um trait simples e incorporá-lo a uma classe:

php<?php
  trait Logger {
    public function log($message) {
      echo "Registrando: " . $message;
    }
  }

  class User {
    use Logger;
  }

  $user = new User();
  $user->log("Usuário criado");
?>

Resultado da execução do código:

php'Registrando: Usuário criado'

Exemplo

Uma classe pode usar vários traits simultaneamente:

php<?php
  trait Timestamp {
    public function getCurrentTime() {
      return date('Y-m-d H:i:s');
    }
  }

  trait Serializer {
    public function toJson($data) {
      return json_encode($data);
    }
  }

  class Product {
    use Timestamp, Serializer;
  }

  $product = new Product();
  echo $product->getCurrentTime();
?>

Resultado da execução do código:

php'2023-11-15 14:30:00'

Veja também

  • o comando class,
    que é usado para declarar classes
  • o comando interface,
    que é usado para declarar interfaces