Namespace merupakan group atau kumpulan entities (class, object, function) yang dikelompokkan dalam satu nama. Namespace didalam PHP juga menggambarkan directory abstrak sebuah file. Didalam PHP namespace tidak menggambarkan Directory penyimpanan file tersebut. Penggunaan Namespace sangat banyak manfaatnya. Kita bisa membuat class, interface, function dengan unique dengan menggunakan namespace.
Jika anda membuat project yang kecil dan untuk personal, maka kesalahan nama atau nama yang duplikate tidak akan menjadi permasalahan yang serius, tetapi jika anda ingin membuat project yang besar maka kesalahan ini akan menjadi sesuatu yang sangat serius. Anda tidak akan bisa mengontrol Class, Interface, Function dan lainnya, jika anda menggunakan Global Namespace.
Deklarasi Namespace.
Untuk membuat namespace sama halnya dengan membuat code PHP biasa yang diawali dengan tag <?php dan dimulai dengan key word(kata kunci) namespace dan diikuti dengan Nama Namepace nya dan diakhiri dengan tanda semicolon ( ; ). lihat kode dibawah:
Sub Namespace.
Untuk membuat membuat subnamespace kita bisa membuat dengan cara menambahkan karakter \ setelah namespace pertama, contoh :
Cara lain menggunakan namespace dengan menggunakan Kurung Kurawal ( { } )
Global namespace.
Global namespace dibuat dengan tanpa menggunakan nama, hanya menggunakan kata kunci namespace, seperti gambar dibawah ini:
Membuat namespace lebih dari satu, caranya seperti dibawah ini.
Menggunakan namespace.
Menggunakan namespace dengan file yang terpisah, contoh :
File pertama dengan nama Modern1.php, namespace ModernRolly\Kisaran, Class RollyYespputra
File kedua dengan nama Testing.php , Nama class Testing, dan penyimpanan didalam Folder yang sama:
Output Program :
Aliasing atau Importing.
Aliasing atau importing didalam bahasa pemrograman PHP juga bisa dilakukan dengan menggunakan kata kunci use. Use ini akan memasukkan namespace yang dibutuhkan kedalam program yang dibuat. contoh :
Menggunakan Alias.
Kseimpulan:
Namespace adalah fitur yang sangat berguna dalam mengorganisir komponen dalam aplikasi untuk menghindari terjadinya error karena duplikasi class atau function. Anda akan sangat bergantung pada fitur ini manakala aplikasi yang Anda buat semakin kompleks dan melibatkan banyak library third party, jadi segera biasakan menggunakan namespace mulai sekarang.
Sumber :rollyyp.wordpress-com