DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja
Skodev
Belajar coding dalam bahasa Indonesia
Pelajari cara menggunakan Autoloading pada PHP untuk memuat kelas secara otomatis, membuat kode lebih rapi dan efisien.
Autoloading adalah fitur dalam PHP yang memungkinkan kita memuat file kelas secara otomatis tanpa harus menyertakan secara manual menggunakan require
atau include
. Fitur ini sangat berguna untuk memanage kode yang besar dan kompleks, membuat struktur file lebih rapi, serta menghindarkan kita dari masalah lupa menyertakan file.
Sebelum fitur ini ada, kita mungkin sering menggunakan require
atau include
untuk memuat kelas-kelas yang dibutuhkan dalam sebuah file. Namun, autoloading memungkinkan kita untuk melewatkan langkah tersebut. PHP akan secara otomatis memanggil fungsi autoloading yang terdaftar ketika sebuah kelas dibutuhkan tetapi belum dimuat.
spl_autoload_register()
Fungsi spl_autoload_register()
memungkinkan kita untuk mendaftarkan fungsi autoloader yang akan dipanggil oleh PHP setiap kali sebuah kelas atau interface belum dideklarasikan. Berikut ini adalah cara penggunaannya:
spl_autoload_register(function ($class_name) {
include $class_name . '.php';
});
Dengan fungsi di atas, jika kamu mencoba untuk menggunakan sebuah kelas yang belum dimuat, PHP akan menjalankan fungsi anonymous autoloader, mencoba menemukan dan memuat file dengan nama yang sama dengan kelas tersebut.
Untuk proyek yang besar, kamu bisa menggunakan autoloading dengan struktur folder dan namespace yang lebih kompleks. Kamu bisa menyesuaikan fungsi autoloader untuk memetakan struktur direktori ke namespace:
spl_autoload_register(function ($class_name) {
$path = str_replace('\\', DIRECTORY_SEPARATOR, $class_name);
include $path . '.php';
});
Contoh di atas mengganti backslash (\
) dengan DIRECTORY_SEPARATOR, yang berguna pada sistem operasi yang berbeda (misalnya Linux dan Windows).
Dalam dunia pengembangan PHP modern, Composer adalah salah satu manajer dependency yang juga menyediakan fitur powerful untuk autoloading. Untuk menggunakan autoload Composer, kamu harus mendefinisikan autoloading dalam file composer.json
:
{
"autoload": {
"psr-4": {
"MyApp\\": "src/"
}
}
}
Setelah membuat konfigurasi di file composer.json
, jalankan perintah composer dump-autoload
untuk menghasilkan file vendor/autoload.php
. Kemudian, cukup sertakan file vendor/autoload.php
ke proyek.
require 'vendor/autoload.php';
Sekarang, kelas di dalam direktori src/
yang memiliki namespace MyApp\
akan dimuat secara otomatis sesuai dengan standar PSR-4.
Autoloading membantu kita ketika bekerja pada proyek yang besar, mengurangi kemungkinan terjadi kesalahan karena lupa menyertakan file dan memungkinkan kita untuk fokus lebih kepada logika pemrograman yang akan dikembangkan. Dengan mengikuti panduan dan contoh di atas, kamu bisa mulai menerapkan autoloading pada proyek PHP-mu.