Pada tutorial kali ini anda akan belajar tentang apa itu design pattern singleton pada php object oriented dan bagaimana cara implementasikannya.

Hai semuanya kembali lagi pada artikel dumetschool , kali ini saya akan masih membahas tentang OOP yaitu apa itu design pattern singleton pada php object oriented , sampai di sini apakah masih ada yang belum tahu tentang design pattern ?  sebelum masuk ke singleton Pattern saya akan menjelaskan dahulu apa itu design pattern.

Design pattern adalah sebuah solusi (best practice) umum untuk masalah yang sering terjadi dalam pengembangan software yang bisa di pakai berulang-ulang.  kalau di analogikan design pattern adalah sebuah resep masakan yang bisa di pakai untuk semua orang tetapi harus di sesuaikan dengan kondisi lidah atau selera masing-masing orang atau dalam kasus pengembangan software harus sesuai dengan kebutuhan. Kasusnya banyak sekali pattern yang ada pada object oriented salah satunya adalah singleton pattern.

Singleton yaitu konsep yang membatasi instance class hanya satu, atau dengan kata lain tidak boleh ada dua object untuk class tersebut. Gambaran mudahnya adalah silahkan dibayangkan bahwa dalam sebuah keluarga yang berperan sebagai suami hanya boleh satu orang, sampai kapan? ya minimal sampai si orang yang berperan sebagai suami ini meninggal dunia atau cerai, maka selama itu tidak boleh ada orang lain yang berhak menggantikannya sebagai suami. Nah konsep monogami ini disebut sebagai singleton.

Silahkan salin code berikut agar paham implementasinya :

Kita bisa lihat pada fungsi getInstance ada pengecekan ada nggak static property instance di memory? jika tidak ada maka create baru jika ada maka gunakan yang lama. Adapun fungsi __construct diset sebagai private adalah untuk mencegah create instance baru menggunakan operator new, demikian juga dengan clone. Intinya memastikan create instance baru menggunakan fungsi getInstance.

 

oke seperti itulah artikel tentang apa itu design pattern singleton pada php object oriented, semoga bisa memahaminya dan dapat bermanfaat.