Cara Menggunakan Composer untuk Manajemen Proyek PHP
Bayangkan kita sedang mengerjakan proyek web dengan PHP.
Kemudian kita membutuhkan beberapa library untuk melengkapi proyek ini.
Biasanya, kita men-download sendiri library-nya dari internet.
Tapi…
Kadang library yang satu dengan yang lain saling membutuhkan agar bisa digunakan. Hal ini disebut dependency (keterkaitan/ketergantungan).
Contohnya:
Library X
membutuhkan library Y
agar bisa digunakan, kemudian library Y
membutuhkan library Q
,R
,S
.
“Bagaimana kalau ada banyak sekali library yang digunakan?”
Pastinya akan repot mencari sendiri dependency library-nya.
Karena itu…, kita membutuhkan composer.
Pada kesempatan ini, kita akan belajar cara menggunakan Composer pada proyek. Sehingga kita dapat bekerja lebih efisien.
Apa yang akan dibahas?
Pertama kita akan belajar cara install composer-nya.
Setelah itu, baru kita belajar cara menggunakannya.
Mari kita mulai…
Apa itu Composer?
Composer adalah program untuk manajemen proyek PHP. Composer bisa kita suruh untuk:
- Menginstal library yang dibutuhkan ke project
- Menjalankan sebuah scipt
- Melakukan testing
Cara Install Composer
Panduan cara instalasi Composer sebenarnya sudah lengkap di dokumentasinya.
Instalasi Composer pada Linux
Sebagaian besar distro Linux sudah menyediakan paket Composer pada repositorinya.
Sehingga kita dapat menginstalnya melalui paket manager (apt
).
Instalasi melalui apt:
apt install composer
Masukkan password dan jawab Y
, maka tunggulah sebentar…composer akan segera
diinstal.
Pada distro Linux yang saya gunakan, paket Composer sudah tersedia di repositori.
Akan tetapi masih versi beta (1.0.0-beta
).
Pada saat tulisan ini dibuat, versi terakhir Composer adalah 1.3-dev
.
Bila ingin menginstal versi terakhir, bisa menggunakan perintah berikut ini.
wget https://getcomposer.org/composer.phar
sudo cp composer.phar /usr/local/bin/composer
sudo chmod +x /usr/local/bin/composer
Kemudian coba periksa versi yang terinstal dengan perintah composer --version
:
Cara Install Composer di Windows
Untuk pengguna Windows, silakan download file Composer-setup.exe
di link
berikut ini:
Download Composer: https://getcomposer.org/Composer-Setup.exe
Atau bisa juga mengunjungi web resmi composer.
Penting: Instalasi membutuhkan koneksi internet, jadi pastikan komputermu terhubung dengan internet.
Setelah itu, silakan eksekusi file Composer-setup.exe
.
Jendela pertama instalasi Composer akan terbuka, silakan klik next untuk melanjutkan:
Composer akan mendeteksi lokasi
php.exe
yang terinstal.Jika kita menggunakan XAMPP, biasanya lokasinya berada di
C:\xampp\php\php.exe
.Namun, pada komputer yang saya gunakan, lokasinya berada di
E:\xampp\php\php.exe
. Maka harus diubah menjadi seperti ini:Selanjutnya, menentukan proxy untuk men-download Composer.
Jika kita menggunakan proxy, maka silakan isi proxy-nya di sini.
Tapi, kalau tidak menggunakan proxy…biarkan saja kosong, lalu klik next.
Review Setting: review konfigurasi composer yang akan diinstal, silakan klik Install untuk memulai instalasi.
Proses Download…tunggulah beberapa saat, composer sedang di-download.
Selanjutnya akan muncul jendela informasi tentang perubahan variabel
ENV
(environment) yang akan dilakukan oleh Composer agar perintahcomposer
dapat dikenali di CMD. Silakan klik next untuk melanjutkan.Instalasi Selesai, klik Finish untuk mengakhiri.
🎉 selamat, kita sudah menginstal composer di Windows.
Sekarang untuk memastikan sudah terinstal dengan benar,
coba buka CMD dan ketik perintah composer --version
:
2. Menggunakan Composer
Buat direktori baru di htdocs
atau /var/www/html
, lalu masuk
ke direktori tersebut.
mkdir /var/www/html/belajar-composer
cd /var/www/html/belajar-composer
Kemudian ketik perintah composer init
untuk melakukan inisialisasi composer:
composer init
Setelah itu, silakan isi informasi proyek seperti berikut ini.
Perintah di atas akan menghasilkan file composer.json
:
{
"name": "petanikode/belajar-composer",
"description": "Hanya untuk latihan composer saja",
"type": "project",
"license": "GPL",
"authors": [
{
"name": "Ardianta Pargo",
"email": "[email protected]"
}
],
"require": {}
}
Informasi yang tertera pada file composer.json
merupakan informasi yang baru
saja kita masukkan.
Perhatikan pada atribut "require"
, isinya masih kosong,
karena tadi kita menjawab no
pada define dependency.
Selanjutnya cobalah instal library Carbon, library ini menyediakan fungsi-fungsi untuk pemrosesan waktu (Date Time).
Ketik pada terminal:
composer require nesbot/carbon -vvv
-vvv
agar bisa melihat proses-nyaMaka sekarang file composer.json
akan berubah menjadi seperti ini:
{
"name": "petanikode/belajar-composer",
"description": "Hanya untuk latihan composer saja",
"type": "project",
"license": "GPL",
"authors": [
{
"name": "Ardianta Pargo",
"email": "[email protected]"
}
],
"require": {
"nesbot/carbon": "^1.21"
}
}
Selain itu juga, perintah tersebut melakukan download library ke dalam proyek.
Cobalah buka direktori proyeknya, pasti akan ada direktori baru bernama vendor
.
Semua library yang di-download Composer akan tersimpan di sana.
Menggunakan Library
Selanjutnya, kita akan mencoba menggunakan library yang baru saja kita tambahkan.
Buatlah file PHP baru di direktori proyek bernama tes_carbon.php
dengan isi sebagai berikut.
<?php
require 'vendor/autoload.php';
use Carbon\Carbon;
$sekarang = Carbon::now();
echo "Sekarang: $sekarang <br>";
echo "Umur saya: " . Carbon::createFromDate(2000, 1, 1)->age . "<br>";
echo "Besok: " . $sekarang->addDay() ."<br>";
?>
Hasil outputnya:
Sekarang: 2016-11-25 21:03:18
Umur saya: 16
Besok: 2016-11-26 21:03:18
3. Mencari library
Misalkan kita membutuhkan lebih banyak library untuk diinstal.
Kita hanya perlu menambahkan nama-nama pustakanya ke dalam atribut "require"
.
{
"name":"petanikode/belajar-composer",
"description":"Hanya untuk latihan composer saja",
"type":"project",
"license":"GPL",
"authors":[
{
"name":"Ardianta Pargo",
"email":"[email protected]"
}
],
"require":{
"nesbot/carbon":"^1.21",
"setasign/fpdf":"1.8.1"
}
}
Formatnya, "vendor/library": "versi"
.
“Lalu, bagaimana cara kita mengetahui nama-nama vendor dan library?”
Kita dapat menggunakan perintah:
composer search fpdf
Perintah tersebut untuk mencari nama vendor penyedia library fpdf
…
…atau kita juga bisa mencarinya di website packagist.org.
Setelah semua library yang kita butuhkan ditulis dalam file composer.json
,
selanjutnya kita bisa menginstal semuanya dengan perintah:
composer update
Menghapus Library
Gunakan perintah berikut untuk menghapus Library dari Proyek:
composer remove <vendor>/<library>
Contoh:
composer remove vlucas/phpdotenv
Maka library phpdotenv
akan dihapus dari proyek kita.
Selain menggunakan perintah di atas, kita juga bisa menghapus manual dari file
composer.json
.
Apa Selanjutnya?
Selanjutnya silakan pelajari: