Pengantar Namespace di OOP PHP
Jika saat menjalankan skrip PHP terdapat dua kelas dengan nama yang sama, maka mereka akan konflik, yang mengakibatkan error fatal. Ini sebenarnya tidak sangat nyaman, karena kita harus terus memantau keunikan nama.
Sebagai contoh, pertimbangkan situasi berikut:
Anda memiliki situs web yang memiliki pengguna
dan admin. Pada folder users disimpan
kelas-kelas untuk user, dan di folder admin
- kelas-kelas untuk admin.
Misalkan baik untuk user maupun admin, dibutuhkan suatu
kelas Page, yang bertanggung jawab untuk beberapa
halaman situs. Pada saat yang sama, untuk user akan ada
kelasnya sendiri, dan untuk admin - kelasnya sendiri. Dalam
kasus seperti inilah kita akan menemui konflik nama.
Cara paling sederhana untuk menyelesaikan konflik ini
- adalah dengan memberikan nama kelas yang berbeda, misalnya,
UsersPage dan AdminPage. Namun, jalan ini
secara bertahap mengarah pada munculnya
nama kelas yang sangat panjang.
Di PHP terdapat cara lain untuk memecahkan masalah - namespace. Intinya adalah sebagai berikut: setiap kelas dapat termasuk ke dalam suatu namespace dan pada saat yang sama, keunikan nama kelas hanya harus dipatuhi di dalam namespace tersebut.
Artinya, untuk memecahkan masalah kita, kita dapat
melakukan hal berikut: memasukkan satu kelas Page
ke dalam suatu namespace, misalnya,
Users, dan kelas kedua Page
dimasukkan ke namespace lain, misalnya,
Admin.