2 minutes
Catatan Belajar OOP PHP (Bag. 5)
Autoloading
Loading dengan auto laaaah.
Kenapa pake autoloading?
- Bagusnya, setiap class itu disimpan dalam satu file.
- Biar gak repot pake require (kalau file-nya banyak kan repot ya?), nah… pake autoloading ini.
Pake ini nih:
spl_autoload_register();
Terus dikasih fungsi sebagai parameter, misalnya,
spl_autoload_register(function ($class) {
require_once __DIR__ . 'NamaFolder/' . $class . '.php';
});
Tah ya, itu paramater $class
teh otomatis manggil class yang ada di folder NamaFolder
. Otomatis weh pokokna mah.
NamaFolder
itu teh bisa lah disebut package.
Namespace
- Mengelompokkan program kedalam package.
- Encapsulation.
- Kan gak boleh ada class dengan nama yang sama, nah kalau package-nya beda mah bisa.
Pake keyword namespace
di bagian awal skrip yang nyimpen class.
<?php namespace Vendor\NamaPackage;
Cara instansiasinya harus ditulis namespace-nya
new Vendor\NamaPackage\NamaClass();
Nah si autoload nya juga harus diubah, biarr manggil class yang ada namespace-nya.
spl_autoload_register(function ($class) {
$class = explode('\\', $class);
$class = end($class);
require_once __DIR__ . 'NamaFolder/' . $class . '.php';
});
Alias
- Kalau nanti namespace-nya panjang, kan bisa ada sub-sub-nya tuh, kan ribet kalau ditulisin. Nah ini ada alias biar gak ribet.
- Biar gak ada nama yang sama juga.
- Pake keyword
use
danas
di bagian atas skrip.
use Vendor\NamaPackage\NamaClass as Alias;
Sebenernya, bebas aja sih alias nya mah. Tapi enaknya mah gini: NamaPackage_NamaClass
.
Web Programming UNPAS
OOP DASAR pada PHP #16 - Autoloading
OOP DASAR pada PHP #17 - Namespace
Kalau kamu suka tulisan saya, boleh kok traktir saya kopi. Tinggal klik di sini.