Saat proyek membesar, menaruh semua class dalam satu folder tanpa pengelompokan menjadi sumber kekacauan. Section ini membahas namespaces sebagai mekanisme pengelompokan dan pencegah bentrok nama, mulai dari deklarasi, import, alias, sampai aturan resolusi nama yang detail. Bagian kedua membahas autoloading: mekanisme PHP memuat class secara otomatis, dari SPL autoload manual hingga standar PSR-4 dan praktik industri memakai Composer.

# Memahami Namespaces

Pelajari cara mengelompokkan class, function, dan konstanta dengan namespaces untuk mencegah bentrok nama di proyek besar.

Buka →
# Namespace Declarations

Pelajari cara mendeklarasikan namespace dengan benar, dari penempatan di awal berkas hingga sub-namespace bertingkat.

Buka →
# Namespace Imports

Pelajari cara meng-import class, function, dan constant dari namespace lain dengan statement use agar kode lebih ringkas.

Buka →
# Fully Qualified Names

Pelajari cara memakai nama absolut ber-backslash awal, perbedaannya dengan nama relatif, dan kapan bentuk tersebut wajib dipakai.

Buka →
# Namespace Aliases

Pelajari cara memberi nama lain dengan kata kunci as untuk mempersingkat nama panjang dan menyelesaikan konflik antar namespace.

Buka →
# Namespace Resolution

Pelajari aturan resolusi nama unqualified, qualified, dan fully qualified beserta fallback function dan constant ke scope global.

Buka →
# Autoloading

Pelajari cara kerja autoloading class PHP, dari masalah require manual hingga pendaftaran autoloader modern dengan spl_autoload_register.

Buka →
# SPL Autoload

Pelajari cara memakai SPL autoload untuk mengelola antrean autoloader yang fleksibel, terurut, dan dapat diinspeksi.

Buka →
# PSR-4 Autoloading

Pelajari aturan pemetaan PSR-4 dari namespace ke jalur berkas dan bangun autoloader PSR-4 minimal Anda sendiri.

Buka →
# Composer Autoloading

Pelajari cara mendeklarasikan autoloading di composer.json dan memakai vendor/autoload.php untuk memuat seluruh class proyek Anda.

Buka →
# Merancang Namespace Project

Pelajari cara merancang struktur namespace proyek yang sehat sejak awal agar tetap rapi dan tidak merusak konsumen saat berevolusi.

Buka →