Mengenal Namespace OOP PHP

Share to

Namespace

Namespace di PHP adalah cara untuk mengatur kelompok kelas, antarmuka, fungsi, dan konstanta sehingga nama yang sama dapat digunakan dalam konteks berbeda tanpa konflik.  Fitur ini sangat berguna ketika mengembangkan aplikasi besar yang mungkin menyertakan kode dari berbagai sumber dan Anda ingin menghindari konflik nama.

Membuat alias atau nama pendek untuk kelas atau entitas yang nama lengkapnya panjang dan kompleks.

Sejarah penggunaan namespace dimulai ketika para programmer ingin berbagi kode dapat digunakan oleh satu tim. Namun, PHP mengharuskan nama kelas yang unik, dan penamaan kelas yang sama akan menimbulkan konflik.  Oleh karena itu, jika kita  memakai third party library yang memiliki class User, maka kita tidak dapat membuat kelas bernama User juga.

Awalnya, masalah ini diatasi dengan menambahkan underscore atau ditambah dengan huruf lain agar terbaca unik, hal ini mengibatkan nama class menjadi yang sangat panjang.   Namun setelah rilisnya PHP versi 5.3 penggunaan namespace sudah dapat mengatasi untuk hal tersebut.

Namespace adalah perintah khusus yang digunakan untuk menghindari konflik dengan memberi nama kelas yang sama.

Perintah namespace memberi pengembang program lebih banyak kebebasan dalam merancang struktur program mereka, bahkan ketika ada kelas dengan nama  yang sama yang dipanggil pada waktu yang sama.

Mengapa menggunakan namespace?

Namespace memungkinkan Anda untuk:

Kelompokkan kode terkait agar lebih mudah dipahami dan dikelola.

Hindari konflik nama antara kode Anda dan perpustakaan pihak ketiga.

perhatikan contoh berikut ini :

Gambar diatas saya memiliki folder utama yaitu Namespace, kemudian dialamnya sub-sub folder yaitu App, Inc dan Layout. masing-masing dari sub-sub folder tersebut memiliki nama file dan class yang sama yaitu Mahasiswa.

App/Mahasiswa.php
Class Mahasiswa {

    function __construct(){
         echo “Saya app/Mahasiswa.php”;
    }
}
Inc/Mahasiswa.php
Class Mahasiswa {
    function __construct(){
         echo “Saya inc/Mahasiswa.php”;
    }
layout/Mahasiswa.php
Class Mahasiswa {
    function __construct(){
         echo “Saya layout/Mahasiswa.php”;
    }
}
Namespace/Index.php
<?php
include “app/Mahasiswa.php”;
include “inc/Mahasiswa.php”;
include “layout/Mahasiswa.php”;
$app = new App\Mahasiswa();
echo “<br>”;
$inc = new inc\Mahasiswa();
echo “<br>”;
$layout = new layout\Mahasiswa();

Ketika file index.php dijalan, dimana file tersebut memanggil file Mahasiswa.php dari masing-masing folder, maka dapat dipastikan layar menampilkan pemberitahuan error. Hal ini karena class mahasiswa tidak bisa ditampilkan bersamaan.

Nah, sekarang bagaimana mengatasi hal ini? Disinilah peran Namespace.

Tambahkan Namespace pada setiap file menjadi seperti ini :

App/Mahasiswa.php
Class Mahasiswa {

    function __construct(){
         echo “Saya app/Mahasiswa.php”;
    }
}
Inc/Mahasiswa.php
Class Mahasiswa {
    function __construct(){
         echo “Saya inc/Mahasiswa.php”;
    }
layout/Mahasiswa.php
Class Mahasiswa {
    function __construct(){
         echo “Saya layout/Mahasiswa.php”;
    }
}
Namespace/Index.php
<?php
include “app/Mahasiswa.php”;
include “inc/Mahasiswa.php”;
include “layout/Mahasiswa.php”;
$app = new App\Mahasiswa();
echo “<br>”;
$inc = new inc\Mahasiswa();
echo “<br>”;
$layout = new layout\Mahasiswa();

Setelah ditambahkan perintah namespace, ketika dipanggil dalam file yang sama yaitu index.php, walaupun dengan nama class yang sama, maka sistem tetap berjalan dengan baik.

Sumber : php.net  medium

Related Posts

Konstanta PHP OOP

Share to

Share toKonstanta PHP OOP Konstanta PHP OOP adalah nilai yang tidak dapat diubah selama runtime dari sebuah program. Dalam paradigma pemrograman berorientasi objek (OOP), konstanta dapat didefinisikan…

Static Keyword PHP OOP

Cara Membuat Static Keyword PHP OOP

Share to

Share toStatic Keyword PHP OOP Static Keyword PHP – Dalam pemrograman berorientasi objek (OOP) di PHP, kata kunci static digunakan untuk menunjukkan bahwa suatu properti atau metode…

Metode Setter dan Getter dalam PHP OOP

Share to

Share toMetode Setter dan Getter dalam PHP OOP Setter dan Getter adalah metode yang digunakan dalam Object-Oriented Programming (OOP) untuk mengatur dan mengambil nilai dari properti (atau…

Visibility Atau Access Modifier Dalam PHP

Share to

Share toVisibility dalam Pemrogramman Visibility Atau Access Modifier Dalam PHP – dalam pemrograman merujuk pada tingkat aksesibilitas dari suatu variabel, method, atau class dalam sebuah program. Terdapat…

Cara Menggunakan Overriding di PHP

Share to

Share toPengertian Overriding Overriding OOP PHP – Overriding adalah ketika sebuah subclass mengimplementasikan kembali sebuah method yang sudah didefinisikan pada superclass. Dalam hal ini, subclass memberikan implementasi…

OOP PHP Pengertian Inheritance

Share to

Share toOOP PHP Pengertian Inheritance ( pewarisan ) Pengertian Inheritance OOP PHP Pengertian Inheritance – Inheritance adalah salah satu konsep dalam pemrograman berorientasi objek (OOP) yang memungkinkan…