Hai Sipinter! Selamat datang di sesi “Tutorial Pemrograman PHP” tempat dimana kita belajar membuat web bersama-sama.
Kali ini kita akan membahas apa itu trait dan cara membuatnya dalam OOP(Objek Oriented Programming) di PHP.
Agar tidak kebingungan dalam pembahasan kali ini kunjungi beberapa postingan sebelumnya mengenai OOP di PHP yaitu:
- Belajar Konsep OOP dalam Pemrograman PHP,
- Constructor dan Destructor Dalam OOP di PHP,
- Class Turunan (Inheritance) & Access Modifier OOP di PHP,
- Abstract Class & Method, Yang Harus Diturunkan di PHP,
- Membuat Static Property dan Static Method di OOP PHP.
Jika sudah mengerti beberapa pembahasan diatas pasti kalian akan lebih mudah memahami materi kali ini.
Karena pada dasarnya jika belajar sesuatu hal yang baru maka kita perlu mempelajarinya dari dasar agar kita dapat memahaminya tidak hanya sekedar menghafal saja.
Intinya jika kita belajar suatu hal yang baru tapi kita tidak bisa memahaminya sama sekali, artinya ilmu dasar yang kita miliki yang berhubungan dengan hal baru itu masih kurang bahkan bisa belum ada bukan karena kita bodoh.
Jadi jika serius belajar pemrograman PHP mulailah dari dasar dan jangan suka melompati materi agar belajarnya lebih mudah dan lancar.
Berikut merupakan daftar materi yang kita bahas kali ini:
- Apa itu Trait?
- Cara Membuat Trait di PHP
- Cara Memanggil Trait dari Class Lain di PHP
- Contoh Cara Membuat dan Memanggil Beberapa Trait di PHP
Semoga dengan pembahasan bertahap ini membuat kita lebih mudah memahami pembahasan kali ini, jadi kita mulai dari yang pertama.
Apa Itu Trait?
Trait sendiri memiliki arti “sifat” , dalam sebuah OOP sifat diwakili sebuah method.
Trait merupakan sebuah mekanisme yang mirip dengan class untuk mengelompokan sebuah method berdasarkan kegunaannya, agar dapat digunakan kembali di beberapa class tanpa melalui turunan.
Jika dalam sebuah turunan class hanya bisa menurunkan hanya dari satu class induk, namun dengan trait kita dapat memanggil beberapa method dari banyak trait.
Kita dapat memanggil beberapa trait sekaligus dalam satu class bahkan bersamaan dengan membuat class turunan.
Trait memudahkan kita mengelompokkan method sesuai fungsinya namun dapat digunakan di class manapun kita membutuhkannya.
Sebuah trait tidak bisa menurunkan sebuah trait, dan trait juga tidak bisa dibuat menjadi sebuah object.
trait dapat berisi method dan abstract method, yang dapat diberi access modifier (public, protected dan priate).
Cara Membuat Trait di PHP
Kita dapat membuat trait dengan menggunakan keyword trait
di php, dengan aturan penulisan seperti di bawah:
<?php
trait TraitName{
//code....
}
?>
Berikut merupakan contoh cara membuat trait di PHP:
<?php
trait Waktu{
public function TanggalIndonesia($tahun,$bulan,$tanggal){
return "Sekarang tangal $tangal bulan $bulan tahun $tahun";
}
}
?>
Cara Memanggil Trait dari Class Lain di PHP
lalu kita dapat memangil trait yang sudah kita buat dari class manapun dan menggunakan method yang ada di dalamnya.
Kita dapat menggunakan trait yang telah dibuat dari sebuah class dengan menggunakan keyword use
di PHP dengan aturan penulisan seperti di bawah:
<?php
class ClassName
{
use namaTrait;
}
?>
Dengan begitu kita dapat menggunakan semua method yang ada pada trait.
Berikut merupakan contoh cara membuat dan memanggil trait serta cara menggunakan method yang ada pada trait di PHP:
<?php
trait Waktu{
public function TanggalIndonesia($tahun,$bulan,$tanggal){
return "Sekarang tanggal $tanggal bulan $bulan tahun $tahun";
}
}
class Pembelian
{
use Waktu;
public function tampilkanTanggal($tahun,$bulan,$tanggal){
echo $this->TanggalIndonesia($tahun,$bulan,$tanggal);
}
}
$pembelian=New Pembelian();
$pembelian->tampilkanTanggal(2000,11,22);
echo "<br/>";
echo $pembelian->TanggalIndonesia(2000,11,22);
?>
Hasilnya bisa dilihat seperti gambar di bawah:
Contoh Cara Membuat dan Memanggil Beberapa Trait di PHP
Kita akan mencoba memanggil tiga trait sekaligus dalam satu class.
Berikut merupakan contoh memanggil beberapa trait yang berada dalam satu file di PHP:
<?php
trait Waktu{
public function TanggalIndonesia($tahun,$bulan,$tanggal){
return "Sekarang tanggal $tanggal bulan $bulan tahun $tahun";
}
}
trait Pesan{
public function berhasil($pesan){
echo "Proses Berhasil -> $pesan <br/>";
}
}
trait link{
public function linkSelanjutnya($kataKunci, $url){
echo "<a href='$url'>$kataKunci</a>";
}
}
class Pembelian
{
use Waktu,Pesan,link;
public function tampilkanTanggal($tahun,$bulan,$tanggal){
echo $this->TanggalIndonesia($tahun,$bulan,$tanggal);
}
}
$pembelian=New Pembelian();
$pembelian->tampilkanTanggal(2000,11,22);
echo "<br/>";
echo $pembelian->TanggalIndonesia(2000,11,22);
echo "<br/>";
$pembelian->berhasil("Penambahan Data Baru");
echo "<br/>";
$pembelian->linkSelanjutnya("Web Keren","https//:sipintek.com");
?>
Hasilnya seperti gambar di bawah:
Sekian postingan kali ini semoga bermanfaat untuk kita semua, mohon maaf jika ada kesalahan atau kekurangan dalam postingan ini.
Jangan lupa tinggalkan pertanyaan dan saran di kolom komentar.
“Nikmatilah sebuah proses mulai dari belajar, mengembangkan, dan berbagi untuk orang lain”.
Dukung kami dengan share dan ikuti social media Sipintek.