Composer merupakan sebuah tool dependency management yang diperuntukkan untuk PHP. Kegunaan dari tool ini sendiri ialah untuk membantu developer dalam mengelola library yang digunakan ketika proses pembuatan web.
Umumnya ketika Anda sedang membangun sebuah aplikasi web dan membutuhkan library tertentu misal PHPMailer, maka langkah awal yang akan Anda lakukan ialah men-download library tersebut terlebih dahulu. Kemudian meletakkannya kedalam direktori proyek web Anda. Selanjutnya Anda akan memanggil class dari library tersebut untuk digunakan pada aplikasi yang sedang dibangun.
Secara kasat mata langkah diatas ialah hal yang biasa, namun Anda akan mengalami masalah jika :
- Library yang Anda gunakan dalam membangun aplikasi ternyata bukan hanya satu melainkan banyak, lantas apakah Anda akan men-downloadnya satu-persatu ?
- Beberapa library yang digunakan ternyata berhubungan dan membutuhkan library lainnya, secara tidak langsung Anda diharuskan untuk men-download library lainnya bukan !
- Bagaimana jika library yang digunakan merilis versi terbaru, apakah Anda harus men-download ulang kemudian meng-uploadnya kembali ?
Untuk mengatasi permasalahan diatas, maka sudah seharusnya Anda memutuskan untuk menggunakan composer. Cara kerja composer cukup sederhana, nantinya Anda diharuskan untuk menulis library yang dibutuhkan di sebuah file (composer.json). Kemudian composer akan mencari dan meng-install library tersebut secara otomatis. Begitu pula jika terdapat update terbaru pada library yang digunakan, cukup ubah file composer.json kemudian secara otomatis pula composer akan meng-updatenya.
Langkah 1 – Cara Menginstall Composer
Composer bisa Anda dapatkan melalui laman resminya yaitu getcomposer.org. Untuk dapat menggunakan Composer, pastikan terlebih dahulu komputer/laptop Anda sudah terpasang PHP. Versi PHP minimal yang digunakan agar dapat menjalankan Composer ialah versi 5.3.2+.
Install Composer di Windows
Bagi pengguna Windows, Anda dapat memasang Composer dengan cara men-download dan menjalankan installer Composer-Setup.exe.
Install Composer di Linux
Untuk pengguna Linux, buka terminal dan jalankan perintah berikut :
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
Langkah 2 – Menggunakan Composer
Setelah proses instalasi selesai, nantinya Composer dapat dijalankan melalui terminal (Linux) ataupun Command Prompt (Windows). Untuk mengecek apakah composer sudah berhasil terinstall di komputer Anda jalankan perintah composer
di terminal.
Apabila terminal menampilkan tulisan seperti gambar diatas berarti Composer telah berhasil ter-install di komputer Anda.
composer.json
Nah, sekarang mari kita mulai menggunakan composer pada sebuah proyek web. Buatlah sebuah folder proyek baru dengan nama coba kemudian buat pula sebuah file dengan nama composer.json. File composer.json inilah yang nantinya akan digunakan untuk menuliskan setiap library yang kita butuhkan.
Pada contoh berikut kita akan menggunakan library Sastrawi. Library ini berguna untuk melakukan proses stemming pada kata-kata yang menggunakan Bahasa Indonesia. Stemming sendiri bertujuan untuk mengubah kata berimbuhan menjadi kata dasar, contoh : pertumbuhan menjadi ‘tumbuh’, membanggakan menjadi ‘bangga’. Library ini akan sangat bermanfaat untuk meningkatkan kualitas hasil pencarian dalam Bahasa Indonesia.
Untuk menggunakan library ini, tuliskan perintah berikut pada file composer.json yang telah dibuat tadinya.
{ "require": { "sastrawi/sastrawi": "1.0.2" } }
Sebuah library akan selalu dikembangkan dengan versi terbaru oleh pengembangnya. Pastikan Anda selalu me-ngecek versi terbaru dari sebuah library ke situs web/repo resminya.
Anda juga bisa menggunakan perintah :
{ "require": { "sastrawi/sastrawi": "~1" } }
Dengan perintah diatas, composer akan men-download library terbaru dari setiap versinya (angka 1 menunjukkan versi 1. Berarti composer akan men-download update terbaru dari versi 1).
Selanjutnya masuklah ke folder proyek web Anda melalui terminal kemudian jalankan perintah berikut untuk men-download library.
composer install
Jika berhasil men-download Sastrawi, secara otomatis di proyek web Anda akan ada beberapa file dan folder baru diantaranya :
- composer.json : file yang digunakan untuk menuliskan berbagai library yang dibutuhkan
- composer.lock : berisi informasi perihal package yang sedang ter-install
- vendor : folder yang berisi berbagai package yang telah diinstall
- vendor/autoload.php : file yang berfungsi untuk memanggil autoloader composer dari berbagai library yang telah di download
Sekarang, untuk menggunakan library Sastrawi buatlah sebuah file dengan nama index.php kemudian tambahkan perintah require
untuk file vendor/autoload.php
di awal file index.php dan perintah untuk menggunakan library Sastrawi.
require 'vendor/autoload.php'; // Meload library Sastrawi $stemmerFactory = new \Sastrawi\Stemmer\StemmerFactory(); $stemmer = $stemmerFactory->createStemmer(); // Menjalankan stemming pada kalimat yang ditentukan $sentence = 'Perekonomian Indonesia sedang dalam pertumbuhan yang membanggakan'; $output = $stemmer->stem($sentence); echo $output . "\n"; // Menampilkan hasil stemming
Untuk melihat hasil dari perintah diatas, jalankan file index.php melalui web browser Anda.
Menggunakan Banyak Library
Apabila Anda ingin menambahkan library lainnya pada proyek web Anda, silahkan tambahkan library yang diinginkan pada file composer.json.
{ "require": { "sastrawi/sastrawi": "1.0.2", "phpmailer/phpmailer": "5.2.*" } }
Kemudian gunakan perintah composer update
untuk men-download library lainnya.
PHP Package
Untuk mencari berbagai paket library PHP, Anda dapat meng-akses laman Packagist. Laman packagist merupakan repositori utama Composer yang berisi berbagai library PHP dengan berbagai versi. Nantinya apabila Anda membutuhkan library tertentu pada proyek web, terlebih dahulu lakukan pencarian pada laman ini.
Kesimpulan
Melihat manfaat akan Composer, sudah seharusnya Anda mulai menggunakan composer disetiap proyek web Anda. Composer juga dapat di integrasikan pada berbagai Framework di antaranya Laravel, Yii, FuelPHP, CodeIgniter, Symfony dan lainnya. Dengan composer Anda tidak harus melakukan kegiatan copy and paste serta membuang waktu yang percuma hanya untuk mengelola library. Selamat mencoba.