Composer adalah dependency manager untuk PHP yang kini menjadi standar wajib dalam pengembangan PHP modern. Hampir semua framework PHP populer โ Laravel, Symfony, Slim, CodeIgniter 4 โ menggunakan Composer untuk mengelola paket dan dependensi. Dengan Composer, kamu tidak perlu lagi mengunduh library secara manual dan mengatur autoload sendiri. Semua diurus otomatis hanya dengan beberapa perintah di terminal.
Instalasi Composer
Pastikan PHP sudah terinstal di sistemmu, lalu unduh dan instal Composer:
php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
php composer-setup.php
php -r "unlink('composer-setup.php');"
mv composer.phar /usr/local/bin/composer
Untuk Windows, unduh installer dari https://getcomposer.org. Verifikasi instalasi berhasil dengan:
composer --version
Memulai Proyek Baru dengan Composer
Inisialisasi Composer di folder proyek kamu:
composer init
Wizard interaktif akan memandu kamu mengisi nama proyek, deskripsi, dan lainnya. Hasilnya adalah file composer.json โ file konfigurasi utama Composer.
Atau kamu bisa langsung menginstal framework sekaligus:
composer create-project laravel/laravel nama-proyek
Menambahkan Package dengan composer require
Untuk menambahkan library/package ke proyekmu:
composer require guzzlehttp/guzzle
composer require monolog/monolog
composer require vlucas/phpdotenv
Composer akan mengunduh package beserta semua dependensinya, menyimpannya di folder vendor/, dan mencatat versinya di composer.json dan composer.lock.
Untuk menambahkan package yang hanya dibutuhkan saat development (misalnya testing):
composer require --dev phpunit/phpunit
Memahami composer.json
File composer.json berisi daftar dependensi dan konfigurasi proyek:
{
"name": "namauser/proyek-saya",
"require": {
"php": ">=8.0",
"guzzlehttp/guzzle": "^7.0",
"monolog/monolog": "^3.0"
},
"require-dev": {
"phpunit/phpunit": "^10.0"
},
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
Menginstal Dependensi dari composer.json
Ketika kamu mengkloning proyek orang lain atau baru pull dari Git, jalankan:
composer install
Perintah ini mengunduh semua package yang terdaftar di composer.json sesuai versi yang dikunci di composer.lock.
Untuk memperbarui semua package ke versi terbaru yang kompatibel:
composer update
Autoloading dengan Composer
Salah satu fitur terbaik Composer adalah autoloading. Tambahkan konfigurasi di composer.json:
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}
Setelah itu, jalankan:
composer dump-autoload
Kini di file PHP kamu, cukup tambahkan satu baris dan semua class akan otomatis ter-load:
<?php
require 'vendor/autoload.php';
use App\Models\User;
$user = new User();
Perintah Composer yang Sering Digunakan
composer installโ Instal semua dependensi daricomposer.lock.composer updateโ Update dependensi ke versi terbaru yang kompatibel.composer require nama/packageโ Tambahkan package baru.composer remove nama/packageโ Hapus package.composer showโ Tampilkan daftar package yang terpasang.composer outdatedโ Tampilkan package yang sudah punya versi lebih baru.composer dump-autoloadโ Regenerasi file autoload.
File yang Tidak Perlu Di-commit ke Git
Tambahkan baris berikut ke .gitignore agar folder vendor tidak ikut di-commit (ukurannya bisa sangat besar):
vendor/
Namun composer.json dan composer.lock wajib di-commit agar semua anggota tim menggunakan versi package yang identik.
Kesimpulan
Composer adalah alat yang tidak bisa dipisahkan dari pengembangan PHP modern. Dengan memahami cara menginstal, menambahkan package, dan memanfaatkan autoloading, kamu sudah mampu mengelola dependensi proyek PHP secara profesional. Selalu commit file composer.json dan composer.lock, abaikan folder vendor, dan gunakan composer install saat memulai di mesin baru. Dengan kebiasaan ini, kolaborasi tim menjadi lebih konsisten dan mudah dikelola.