Dalam konteks pemrograman PHP, dependency bisa kita pahami sebagai aplikasi siap-pakai atau pustaka-pustaka (library) yang dibuat programer lain—biasanya berupa class atau kumpulan fungsi, misalnya class untuk mengunggah file atau fungsi-fungsi untuk memanipulasi string—yang ditambahkan dan digunakan dalam aplikasi yang sedang kita buat.
Umpamanya kita akan membuat aplikasi PHP sederhana untuk menyimpan data buku koleksi pribadi yang berjumlah ratusan. Kita pun mulai merancang database dan menuliskan kode-kode PHP untuk menambah, memperbarui, serta menghapus data buku.
Data-data buku yang telah disimpan di database tersebut tentu saja harus kita tampilkan untuk memudahkan pemeriksaan serta pencarian data buku tertentu.
Karena koleksi buku yang kita miliki berjumlah ratusan, tentu tidak akan efektif jika semuanya harus ditampilkan pada satu halaman saja. Dari sini kita mulai berpikir bagaimana membagi-bagi data-data buku tersebut ke dalam beberapa halaman. Misalnya kita menginginkan setiap halaman hanya menampilkan dua puluh data buku saja.
Kita dapat kembali menuliskan kode-kode PHP berikutnya untuk menyelesaikan masalah ini. Namun, kita dapat menempuh cara paling mudah dan cepat untuk mengatasinya, yakni dengan memanfaatkan pustaka class PHP yang dibuat programer lain khusus untuk kebutuhan tersebut.
Di sinilah letak pentingnya Composer. Ia akan sangat membantu kita dalam mencari dan menambahkan pustaka-pustaka tersebut ke dalam aplikasi yang sedang dibuat.
Composer merupakan dependency management untuk bahasa pemrograman PHP. Adapun proses untuk menambahkan dependency biasa disebut dengan istilah dependency injection.
Dependency injection umum digunakan dalam bahasa-bahasa pemrograman seperti Java. Namun untuk PHP, hal ini terbilang baru dan momentum terbesarnya mungkin diperoleh khususnya seiring dengan kelahiran Laravel.
Cara Memasang Composer
Composer dapat kita peroleh dari laman resminya, getcomposer.org.Untuk dapat memasang Composer, kita harus memastikan terlebih dulu bahwa PHP telah terpasang di komputer kita. Versi PHP minimal untuk dapat menjalankan Composer adalah 5.3.2+.
Pada laman getcomposer.org di atas, kita dapat memperoleh informasi lengkap tentang cara memasng Composer ini. Singkatnya, untuk pengguna Linux dapat menuliskan kode berikut pada terminal.
curl -sS https://getcomposer.org/installer | php
Agar Composer dapat dikenali secara global, setelah perintah di atas tambahkan kode berikut.
mv composer.phar /usr/local/bin/composer
Apabila proses instalasi gagal terkait dengan izin akses file, silakan coba kembali dengan manambahkan
sudo
.sudo mv composer.phar /usr/local/bin/composer
Jika Composer dipasang secara global sepeti di atas, Composer dapat dijalankan melalui terminal dari direktori mana pun, cukup dengan menuliskan
composer
.Untuk pengguna Windows, Composer dapat dipasang dengan terlebih dulu mengunduh file installer-nya yang juga dapat diperoleh di laman yang sama.
Di komputer saya, Composer dipasang secara global. Jadi untuk memastikan bahwa Composer telah terpasang dengan baik, saya cukup menuliskan
composer
di terminal. Berikut adalah tampilan terminal setelah kode kode tersebut dijalankan.Untuk informasi lebih lengkap tentang cara memasang Composer ini, Anda dapat membacanya lebih lanjut di laman resminya.
Menggunakan Composer
Setelah Composer berhasil diinstal, buat sebuah folder baru pada direktori server lokal PHP yang biasanya otomatis terpasang jika kita menggunakan paket instalasi seperti Xampp, Wamp, atau Lamp.Dalam contoh ini, folder yang akan saya buat bernama "myproj" dan disimpan pada direktori
/var/www/html
.Selanjutnya buat dua buah file bernama "composer.json" dan "index.php" pada folder yang barusan dibuat tersebut dengan penyunting teks seperti Notepad++, Sublime Text, atau Gedit.
Tuliskan kode berikut pada file composer.json, dan untuk sementara biarkan kosong file index.php.
{ "require":{ } }
Untuk mencari paket-paket pustaka kelas PHP tertentu, kita dapat membuka laman packagist.
Pada laman di atas kita dapat menemukan pustaka-pustaka PHP yang telah dibuat para programer lain, cukup dengan menuliskan nama paket pustaka pada bagian "Search packages".
Sebagai contoh, kita akan menggunakan bah, paket untuk bermain-main dengan string dalam PHP. Anda dapat menemukannya dengan megetikkan kata kunci "bah" pada kotak pencarian di Packagist.
Dari gambar di atas kita dapat melihat keterangan singkat terkait paket yang akan kita gunakan.
Untuk menambahkan paket "bah" di atas, salin kode
"malenki/bah": "dev-master"
(lihat bagian dev-master) di antara dua kurung kurawal setelah "require" dari file composer.json yang telah kita buat sebelumnya. Isi file "composer.json" kemudian akan terlihat seperti berikut.
{ "require":{ "malenki/bah": "dev-master" } }
Selanjutnya, buka folder 'myproj' melalui terminal dan tuliskan perintah
composer install
. Tunggu beberapa saat hingga Composer selesai menginstal paket "bah" tadi. Perlu dicatat, pada saat menjalankan perintah di atas, komputer kita harus dalam keadaan terkoneksi ke internet. Setelah proses instalasi paket selesai, Composer akan membuat sebuah folder baru bernama "vendor" pada folder "myproj".
Paket-paket pustaka yang telah kita install melalui Composer dapat kita gunakan dengan cara menambahkan kode
require("vendor/autoload.php");
di bagian atas file PHP bersangkutan.Dalam contoh yang kita gunakan berarti kita perlu menambahkan kode di atas pada file index.php.
<?php // index.php require ("vendor/autoload.php");
Untuk menggunakan pustaka "bah" ini, silakan tambahkan kode berikut pada file index.php di atas sehingga menjadi seperti berikut.
<?php // index.php require ("vendor/autoload.php"); use \Malenki\Bah\S; $contoh_string = new S("cara memasang dan menggunakan Composer"); // Mengubah string menjadi kapital echo $contoh_string->upper; // Mengubah string menjadi huruf kecil echo $contoh_string->lower; // Mengubah huruf pertama masing-masing kata dari string menjadi kapital echo $contoh_string->title; // Menampilkan jumlah karakter dari string echo $contoh_string->length;
Anda dapat bermain-main dengan string dalam PHP ini lebih lanjut dengan menyimak keterangan lengkapnya di https://github.com/malenkiki/bah.
Sekian uraian singkat mengenai Composer dan cara penggunaanya yang bisa saya sajikan. Terima kasih dan semoga bermanfaat. :)