Apa Itu Composer?
Pengertian
Composer adalah alat dependency manager untuk bahasa pemrograman PHP. Dengan kata lain, Composer adalah aplikasi yang diinstal ke perangkat untuk memfasilitasi developer menggunakan library open source milik orang lain ke dalam project yang sedang dibangun.
Dalam sebuah project PHP, penggunaan library sangat memudahkan dalam proses penulisan kode. Namun terkadang, library satu dengan yang lainnya saling membutuhkan agar bisa digunakan. Hal ini disebut dependensi atau ketergantungan. Di sinilah peran Composer untuk menghubungkan project PHP dengan library eksternal yang dibutuhkan. Composer membantu mengatur ketergantungan (dependency) atau penggunaan library luar project PHP. Proses penulisan kode akan lebih cepat dan terstruktur, sebab kemampuannya dalam mengelola instalasi dan mengupdate library yang digunakan.
Composer merupakan project open source yang pertama kali dikembangkan oleh Nils Adermann dan Jordi Boggiano. Sejak awal rilisnya pada 1 Maret 2012, project Composer di-host di Github dan masih terus dikembangkan hingga sekarang.
Kenapa Composer Itu Penting?
Programmer atau developer dianjurkan menggunakan dependency manager untuk memudahkan pengerjaan project. Selain membantu dalam penggunaan library external, berikut ini beberapa alasan mengapa developer butuh dependensi manajer:
- Memudahkan dalam mengupdate library eksternal yang digunakan
- Proses coding jadi lebih terstruktur dengan konsep MVC
- Package yang dibutuhkan akan langsung terinstal dan diupdate secara otomatis
- Terdapat autoload yang akan melakukan include terhadap semua file PHP atau class PHP yang dibutuhkan dalam projectmu
- Jika menggunakan dependency manager yang terhubung dengan packagist, kamu bisa menggunakan ribuan package yang tersedia.
Composer membutuhkan repository atau tempat seluruh library beserta informasinya bisa ditemukan. Packagist merupakan server tempat tersimpannya semua library / paket dependency PHP. Jadi, Packagist akan menyerahkan fitur atau integrasi dengan GitHub dan bitbucket.
Berikut cara kerja Composer:
- Composer membantu menemukan paket yang tersedia pada Packagist
- Sebelum mengunduh library-library yang diperlukan, composer akan memeriksa beberapa hal:
- Apakah library tersebut membutuhkan library lainnya sebagai dependensi
- Versi PHP
- module yang diperlukan untuk library tersebut
- Setelah proses pengecekan selesai, Composer akan mendownload library-library yang diperlukan ke dalam project pada direktori “vendor.”
Contohnya, ketika developer sedang mengembangkan aplikasi dan membutuhkan paket library A, B, dan C, maka tahapan yang dilakukan Composer:
- Pertama, Composer akan mengecek dependensi paket A, B, dan C tersebut serta spesifikasi PHP-nya.
- Jika Composer menemukan dependensi paket A,B, dan C berupa paket D, E, F, maka Composer akan mendownload semua paket/library tersebut.
- Sebelum mendownload paket tersebut, Composer juga akan mengecek dependensi paket D, E, dan F.
- Composer akan mendownload paket-paket yang diperlukan beserta dependensinya