Composer & Autoloading
Jika kamu mau membuat fitur Export ke PDF atau Kirim Email, apakah kamu harus menulis kodenya dari nol? Tentu tidak! Di dunia programming, kita memakai ulang kode yang sudah dibuat orang lain (disebut Library atau Package).
Di sinilah peran penting Composer.
1. Apa itu Composer?
Composer adalah Package Manager untuk PHP. Tugas utamanya adalah:
- Mendownload library PHP yang kamu butuhkan dari internet.
- Memastikan versi library tersebut cocok dengan PHP kamu.
- Mendownload dependensi lain (jika library A butuh library B, Composer akan otomatis mendownload library B).
- Mengatur Autoloading (memanggil file PHP secara otomatis).
Analogi Sederhana:
Composer mirip seperti App Store / Play Store di HP kamu, tapi khusus untuk kode PHP.
(Catatan: Jika kamu menggunakan Laravel Herd, Composer sudah otomatis terinstall!)
2. Mengenal Packagist.org
Di mana Composer mencari library? Jawabannya ada di Packagist.org.
Packagist adalah gudang pusat (repository) dari seluruh library open-source PHP di dunia. Mulai dari library untuk manipulasi gambar, kirim email, bikin chart, sampai framework besar seperti Laravel, semuanya tersimpan di sana.
3. Cara Menggunakan Composer
Mari kita praktik menginstall sebuah library nyata. Kita akan menginstall Carbon (Library populer untuk memanipulasi waktu dan tanggal).
Langkah 1: Inisialisasi
Buka Terminal / Command Prompt di dalam folder project kamu, lalu ketik:
(Tekan Enter berkali-kali untuk menyetujui opsi default).
Perintah ini akan menghasilkan file composer.json. File ini mencatat informasi tentang project kamu dan library apa saja yang kamu pakai.
Langkah 2: Install Library
Ketik perintah ini di Terminal:
Apa yang terjadi di balik layar?
- Composer mendownload library Carbon dari internet.
- Menyimpannya di dalam folder baru bernama
vendor/. - Membuat file
composer.lock(pengunci versi). - Menambahkan Carbon ke daftar di dalam
composer.json.
Folder vendor/ bisa menjadi sangat besar. Jangan pernah mengupload folder ini ke GitHub! Selalu tambahkan vendor/ ke dalam file .gitignore.
Jika temanmu meng-clone projectmu, mereka cukup mengetik composer install, dan Composer akan membaca composer.json lalu mendownload ulang semua library yang dibutuhkan.
4. Autoloading (Selamat Tinggal require)
Sebelum ada Composer, jika kita butuh fungsi di file lain, kita harus menulis require berkali-kali:
Composer punya fitur ajaib bernama Autoload. Ia akan otomatis mencari dan memanggil class/file yang kamu butuhkan saat kamu mengetikkannya.
Cara Memakai Library dengan Autoload
Buat file test-waktu.php:
Hanya dengan satu baris require 'vendor/autoload.php', seluruh library yang ada di dalam folder vendor/ siap untuk digunakan!
Selanjutnya
Kita sudah memahami OOP, MVC, dan Composer. Sekarang kita akan melihat bagaimana semua konsep ini digabungkan secara elegan oleh framework paling populer di dunia PHP: Pengenalan Laravel →.