DISKON TERBATAS! Masukkan kupon "skillbaru" saat checkout di kelas apa saja

Logo Koala Skodev mengetik

Skodev

Belajar coding dalam bahasa Indonesia

AUTOLOADING

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.

Memahami Autoloading

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.

Menggunakan fungsi 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.

Menyusun Folder dan Namespace

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).

Autoloading dengan Composer

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.

👈🏼 Traits
OOP pada dunia nyata 👉🏼