PHP Trait untuk Reusability

Di PHP, sebuah kelas biasanya hanya bisa mewarisi dari satu kelas induk (Inheritance). Lalu bagaimana jika dua kelas berbeda (misal Mobil dan Burung) sama-sama butuh kemampuan BisaTerbang? Di sinilah Trait berperan! Trait ibarat ransel berisi kemampuan khusus (kumpulan method) yang bisa dipasangkan ke kelas mana saja tanpa merombak silsilah pewarisannya. Cukup ketikkan use NamaTrait; di dalam kelasmu. Jebakan: memasang terlalu banyak Trait dalam satu kelas bisa membuat kode berantakan dan sulit dilacak asal-usul method-nya.

👀 Contoh dulu

trait HasUuid {
  public function generateUuid() { return 'uuid-123'; }
}
class Order {
  use HasUuid;
}

Hasilnya: Kelas Order memiliki method generateUuid() dari HasUuid trait.

💡 Laravel menggunakan Trait untuk fitur seperti SoftDeletes dan HasFactory.

📝 Sekarang giliranmu

Tuliskan penggunaan trait use HasUuid; di dalam kelas.

Preview