Pada artikel-artikel sebelumnya kita telah membahas abstract class pada PHP dan interface pada PHP. Dengan abstract class kita dapat langsung menggunakan method-method dari suatu parent yang memang boleh digunakan langsung. Dengan interface kita dapat mengimplementasikan banyak method yang berasal bisa lebih dari sebuah interface. Tetapi bagaimana kalau kita ingin menggunakan langsung method-method dari berbagai class ?

Untuk dapat menggunakan banyak method dari berbagai class, maka mulai PHP 5.4.0, bahasa pemrograman PHP memperkenalkan trait. Dengan menggunakan trait ini maka suatu class dapat menggunakan method lebih dari satu semacam class lain.

Untuk teknik pemrogramannya kita akan membuat trait yang mempunyai satu atau beberapa method. Kemudian pada class yang akan menggunakan kita menggunakan keyword ‘use’. Jika ada method yang sama dengan parent class, maka program akan memanggil trait dahulu, kemudian akan memanggil method yang ada di parent class.

Jika menggunakan banyak trait, pastikan tidak ada method yang sama. Jika ada method yang sama dalam berbagai trait ini maka bisa dipastikan terjadi error karena terjadi bentrok. Dengan demikian untuk membuat trait, perhatikan baik-baik penamaan method supaya tidak terjadi bentrok jika dua atau lebih trait digunakan bersama-sama dalam satu program.

Tetapi jika karena satu dan lain hal ada method yang sama pada trait yang berbeda dan keduanya digunakan pada program yang sama, maka bisa diatasi menggunakan keyword insteadof.

Informasi lebih lanjut silahkan mengunjungi http://php.net/manual/en/language.oop5.traits.php .

Kunjungi www.proweb.co.id untuk menambah wawasan anda.

Trait pada class PHP