Composer: Package Manager PHP
Mengelola library PHP dengan Composer: install, require package, dan autoload otomatis.
Apa itu Composer?
Composer adalah package manager resmi PHP, mirip npm di JavaScript. Dengan Composer kamu bisa memakai ribuan library siap pakai (untuk PDF, HTTP client, validasi, dan lainnya) tanpa copy-paste kode dari internet.
Instalasi dan proyek pertama
- Unduh Composer dari getcomposer.org dan install.
- Cek di terminal:
composer --version. - Di folder proyek, inisialisasi:
composer initIkuti wizard-nya (nama package, deskripsi, dan sebagainya), dan Composer membuat file composer.json.
Memasang library
Misalnya butuh library untuk membuat UUID:
composer require ramsey/uuidComposer mengunduh library ke folder vendor/ dan mencatat versi pastinya di composer.lock. Cara pakainya lewat autoload:
<?php
require __DIR__ . "/vendor/autoload.php";
use Ramsey\Uuid\Uuid;
$id = Uuid::uuid4();
echo $id->toString(); // contoh: 550e8400-e29b-41d4-a716-446655440000Satu baris require vendor/autoload.php membuat semua class dari semua library langsung bisa dipakai, termasuk class buatanmu sendiri kalau didaftarkan di composer.json:
{
"autoload": {
"psr-4": {
"App\\": "src/"
}
}
}Setelah mengubah autoload, jalankan composer dump-autoload.
Aturan main
- Jangan commit folder
vendor/ke Git, cukup commitcomposer.jsondancomposer.lock. Orang lain tinggal jalankancomposer install. composer install: pasang sesuaicomposer.lock(untuk deploy dan tim).composer update: naikkan ke versi terbaru yang diizinkan (hati-hati, bisa merusak).composer require: tambah library baru.
Catatan teknis: File
composer.lockmengunci versi persis setiap library termasuk dependensinya. Inilah yang membuat hasilcomposer installidentik di laptopmu, laptop temanmu, dan server production. Jangan hapus atau abaikan file ini di proyek tim, tanpanya setiap orang bisa dapat versi library yang berbeda dan bug muncul "hanya di server".