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 depedency (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 depedency 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 menyadiakan 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.

Instalasi Composer melalui apt

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 dubuat, 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:

Versi Composer di Linux

Cara Install Composer di Windows

Untuk pengguna Windows, silahkan 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, silahkan eksekusi file Composer-setup.exe.

  1. Jendela pertama instalasi Composer akan terbuka, silahkan klik next untuk melanjutkan:

    Instalasi Composer

  2. 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:

    Instalasi Composer, Cek PHP yang terinstall

  3. Selanjutnya, menentukan proxy untuk men-download Composer.

    Jika kita menggunakan proxy, maka silahkan isi proxy-nya di sini.

    Menentukan Proxy

    Tapi, kalau tidak menggunakan proxy…biarkan saja kosong, lalu klik next.

  4. Review Setting: review konfigurasi composer yang akan diinstal, silahkan klik Install untuk memulai instalasi.

    Review Setting

  5. Proses Download…tunggulah beberapa saat, composer sedang di-download.

    Proses Download Composer

  6. Selanjutnya akan muncul jendela informasi tentang perubahan variabel ENV (environment) yang akan dilakukan oleh Composer agar perintah composer dapat dikenali di CMD. Silahkan klik next untuk melanjutkan.

    Informasi perubahan variabel ENV

  7. Instalasi Selesai, klik Finish untuk mengakhiri.

    Informasi perubahan variabel ENV

🎉 selamat, kita sudah menginstal composer di Windows.

Sekarang untuk memastikan sudah terinstal dengan benar, coba buka CMD dan ketik perintah composer --version:

Periksa Versi Composer yang terinstal

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, silahkan isi informasi proyek seperti berikut ini.

Informasi Proyek Composer

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 depedency.

Selanjutnya cobalah instal library Carbon, library ini menyediakan fungsi-fungsi untuk pemrosesan waktu (Date Time).

Ketik pada terminal:

composer require nesbot/carbon -vvv
Kita memberikan argumen `-vvv` agar bisa melihat proses-nya

Maka 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.

Direktori Vendor

Menggunakan Library

Selanjutnya, kita akan mencoba menggunakan library yang baru saja kita tambahkan.

Buatlah file PHP baru di direktori proyek beranam 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.

Mencari Library di Packagist

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 silahkan pelajari: