Assalammu’alaikum…

Selamat datang di Laila’S Blog kali ini saya akan memmbahas tentang apa itu NamaSpace. Apa itu namespace dan Apa pennggunnaannya ? Untuk itu mari kita lihat penjelasan atau uraian di bawah ini .

Pengertian
NameSpace adalah seperangkat simbol yang digunakan untuk mengatur objek dari berbagai jenis, sehingga benda-benda ini dapat disebut dengan nama.

Latar Belakang
Untuk agar lebih mengerti lagi apa itu NameSpace.

Uraian

NameSpace adalah keyword untuk memberi ruang (space) khusus pada memori yang mengisolasi penamaan dari luar. Artinya nama class atau function bisa saja sama selama berada di ruang namespace yang berbeda. Namespace merupakan fitur baru yang diperkenalkan pada php versi 5.3 yang kini juga telah digunakan oleh banyak framework PHP. Latar belakang digunakannya namespace yaitu :

  • Nama variable, class dan method harus memiliki indentifikasi yang unik atau tidak sama, pada penamaan variable yang sama mungkin tidak terjadi masalah, tetapi jika method dan class memiliki nama yang sama makan akan terjadi kesalahan atau error pada prose compile
  • Untuk menghindari duplikasi

Mendifiniskan Namespace

Namespace ini harus dideklarasikan di awal skrip sebelum baris kode lainnya, ada 2 cara yaitu :
Dengan kurung kurawal

namespace Name_Namespace{

//Kode disini
}



namespace Name_Namespace;

//Kode disini


Dalam satu file dapat membuat lebih dari 1 namespace.

Sub-Namespace

Namespace juga dapat digunakan secara hirarki menggunakan sub-namespace seperti halnya direktori tempat penyimpanan file. Bahkan untuk membuat skrip yang dibuat lebih terorganisir dan mudah dilacak, penggunaan sub-namespace sangat dianjurkan untuk menunjukkan letak file yang sesungguhnya. Contoh :



namespace Blog\Database;
 
class Connection {
    // Kode disini
}


Cara menggunakan namespace
Terdapat tiga cara dalam menggunakan namespace , yaitu unqualiffied name, qualified name dan fully dan qualified name.

Unqualified name digunakan pada dua kondisi, yaitu pada saat menggunakan global namespace atau ketika kode yang menggunakan namespace berada di file yang sama, maka PHP akan menggunakan namespace yang aktif pada file tersebut, Contoh :


namespace Blog\Database;
 
class Connection {
 
}
 
$conn = new Connection()




Lihat pada baris $conn = new Connection();, PHP akan mengenali Connection() sebagai class dari namespace yang aktif yaitu Blog\Database, karena berada di file yang sama.

qualified name digunakan untuk menggunakan kode yang ada [ada file yang lain kedalam skrip. Contoh :


namespace Blog;
 
require_once "Blog/Database/Connection.php";
 
$conn = new Database\Connection()


Harus diperhatikan bahwa dalam penggunaan jenis ini harus pada namespace yang aktif, perhatikan pada baris $conn = new Database\Connection(), pada kode tersebut otomatis yaitu akan menjadi Blog\Database\connection(), karena yang aktif ialah namespace Blog. Namun akan terjadi kesalahan jika yang terjadi bukan pada namespace yang tidak aktif, contohnya :



namespace Blog\Search;
 
require_once "Blog/Database/Connection.php";
 
$conn = new Database\Connection();


Maka proses yang terjadi adalah $conn = new Blog\Search\Database\Connection().

Fully qualified name menggunakan path namespace secara lengkap sehingga tidak peduli kode yang memanggil berada di namespace manapun. Contoh :



namespace Blog\Search;
 
require_once "Blog/Database/Connection.php";
 
$conn = new \Blog\Database\Connection();



Maksud dan Tujuan
Dapat memahami apa itu NameSpace dengan benar.

Alat dan Bahan
  1. Laptop
  2. File Items
  3. Text Editor

Kesimpulan
Jadi NameSpace adalah keyword untuk memberi ruang (space) khusus pada memori yang mengisolasi penamaan dari luar. Artinya nama class atau function bisa saja sama selama berada di ruang namespace yang berbeda.

Referensi