DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari cara menggunakan namespace di PHP untuk mengatur kode dengan lebih baik dan menghindari konflik nama antar kelas, fungsi, ataupun konstanta.
Namespace di PHP adalah cara untuk mengorganisasi kelompok kelas, antarmuka, fungsi, dan konstanta sehingga memungkinkan penggunaan nama yang sama dalam konteks yang berbeda tanpa konflik. Fitur ini sangat berguna dalam pengembangan aplikasi yang besar, di mana kamu mungkin memiliki kode dari sumber yang berbeda, dan ingin memastikan tidak ada bentrokan nama.
Dengan menggunakan namespace, kamu dapat:
Untuk mendeklarasikan namespace di PHP, gunakan kata kunci namespace
diikuti dengan nama yang kamu pilih:
namespace MyProject;
class Connection {...}
function connect() {...}
const SERVER_NAME = "localhost";
Kode di atas menunjukkan bahwa kelas Connection
, fungsi connect
, dan konstanta SERVER_NAME
berada dalam namespace MyProject
.
Kamu juga bisa membuat “sub-namespace” dengan pemisah \
:
namespace MyProject\Database;
class Connection {...}
Dalam contoh ini, Connection
berada dalam Database
yang merupakan sub-namespace dari MyProject
.
Saat menggunakan kelas, fungsi, atau konstanta dari namespace, kamu harus memanggilnya dengan nama lengkapnya jika tidak berada dalam namespace yang sama.
$obj = new \MyProject\Database\Connection();
Untuk menghindari pengetikan nama lengkap setiap saat, PHP menyediakan kata kunci use
untuk “mengimpor” namespace atau kelas:
use MyProject\Database\Connection;
$obj = new Connection();
Sekarang kamu bisa menggunakan Connection
tanpa perlu menulis namespace lengkapnya.
Kadang-kadang kamu mungkin butuh alias untuk namespace atau kelas yang panjang untuk memudahkan penulisan kode. Gunakan kata kunci as
setelah use
untuk menetapkan alias:
use MyProject\Database\Connection as DBConnection;
$obj = new DBConnection();
Sekarang DBConnection
merujuk kepada MyProject\Database\Connection
.
Jika kamu berada dalam sebuah namespace dan ingin mengakses kelas global atau fungsi PHP bawaan (yang tidak memiliki namespace), gunakan \
di depan nama kelas atau fungsi:
namespace MyProject;
$obj = new \DateTime(); // Kelas DateTime global
Dengan demikian, penggunaan namespace membantu mengatur dan merapihkan kode kamu, memudahkan kolaborasi dalam tim, dan mengurangi risiko konflik nama dalam proyek PHP yang kamu kembangkan.