Sintaksis Namespace dalam OOP di PHP
Untuk menetapkan namespace ke sebuah kelas, Anda perlu
menuliskan perintah namespace pada baris pertama file
tempat kelas tersebut disimpan,
dan setelahnya beri spasi - nama dari
namespace tersebut.
Jika sebuah kelas termasuk ke dalam suatu namespace, maka untuk membuat objek kelas tersebut perlu menyebutkan tidak hanya nama kelas, tetapi juga namespace-nya, dipisahkan dengan garis miring terbalik. Mari kita lihat contohnya.
Misalkan kita memiliki kelas Page, yang tidak termasuk
ke dalam namespace apa pun. Maka objek
kelas ini akan kita buat dengan cara berikut:
<?php
$page = new Page;
?>
Sekarang misalkan kelas ini termasuk dalam namespace
Admin. Dalam hal ini, objek dari
kelas ini akan kita buat dengan cara seperti ini:
<?php
$page = new \Admin\Page;
?>
Mari kita pisahkan kelas untuk pengguna dan kelas untuk admin ke dalam namespace yang berbeda, untuk menghindari konflik kelas seperti yang dijelaskan di atas.
Untuk kelas Page dari file /admin/page.php
berikan namespace Admin:
<?php
namespace Admin;
class Page
{
}
?>
Dan untuk kelas Page dari file /users/page.php
berikan namespace Users:
<?php
namespace Users;
class Page
{
}
?>
Sekarang mari di file /index.php
buat objek dari kelas pertama dan kedua
Page:
<?php
require_once '/admin/page.php';
require_once '/users/page.php';
$adminPage = new \Admin\Page;
$usersPage = new \Users\Page;
?>
Misalkan Anda memiliki folder core dan folder
project. Di setiap folder terdapat kelas
Controller masing-masing. Buatlah agar
kelas-kelas tersebut termasuk dalam namespace yang berbeda.
Di file index.php buat objek
dari kelas pertama dan kedua.