PHP Traits
Trait adalah mekanisme untuk menggunakan ulang sebuah code pada sebuah inheritance. Trait digunakan untuk mengurangi batasan dari sebuah inheritance dengan memungkinkan developer untuk menggunakan ulang kumpulan methods secara mudah pada beberapa class yang memiliki hirarki berbeda. Trait digunakan untuk mengurangi kompleksitas dan menghindari masalah yang sama pada beberapa inheritance.
Trait serupa dengan Class, tetapi hanya digunakan untuk mengelompokan fungsi agar menjadi paling konsisten. Trait tidak bisa berdiri sendiri. Trait adalah tambahan yang bisa dimasukan pada fungsi tanpa harus menggunakan inheritance dari class lain.
Contoh penggunaan Trait :
<!–?php
trait Crud{
function create(){
return ‘create action’;
}
}
trait Authentication{
function checkLogin(){
return ‘cek login action’;
}
}
class Barang{
use Crud,Authentication;
}
class Vendor{
use Crud,Authentication;
}
$barang = new Barang;
echo $barang->create();
echo $barang->checkLogin();
Pada contoh diatas class Barang dan Vendor tidak memiliki fungsi Create and checkLogin tetapi tidak akan menghasilkan error karena pada class tersebut telah menggunakan Trait bernama Crud and Authentication yang memiliki fungsi create and checkLogin.
Apabila dalam suatu class terdapat method yang sama dengan Trait yang digunakan, maka fungsi pada Class tersebut akan ditimpa.