Dasar-Dasar Menggunakan Composer (Dependency Manager for PHP)


Membangun suatu proyek pemerograman PHP dari awal (from scratch), itu membutuhkan waktu yang tidak sedikit. Untuk mempercepat progres, biasanya kita menggunakan framework. Namun, jika Anda termasuk orang yang tidak ingin mengikuti atau mempelajari lagi aturan PHP framework yang beredar, dan tetap menggunakan metode OOP (Object Oriented Programming), Anda bisa memanfaatkan pustaka (library) atau dependensi yang ada. Jadi dengan demikian proyek yang Anda buat, tetap pada aturan dari kode sumber Anda sendiri.

Sejak adanya Composer mempermudah kita dalam tahap pengembangan proyek pemerograman PHP. Composer adalah suatu tool yang digunakan untuk memasang paket pustaka dependensi yang dibutuhkan dalam project pemerograman PHP. Composer ini cara kerjanya mirip dengan menejer paket pada GNU/Linux, seperti apt, dnf, pacman dan lain sebagainya. Kita cukup menuliskan nama paket yang dibutuhkan dengan perintah-perintah tertuntu.

Tulisan-tulisan sebelumnya di sini, saya telah memberikan tentang cara-cara pemasangan composer baik di GNU/Linux maupun Windows. Berikut Anda bisa lihat postingan saya sebelumnya:

Dalam praktek tulisan ini, saya menggunakan GNU/Linux distro Arch Linux. Jika Anda pengguna GNU/Linux tetapi bukan distro Arch Linux, Anda tetap bisa mempraktekan tutorial ini. Atau, jika Anda bukan pengguna GNU/Linux seperti pengguna Windows atau MacOS, tutorial ini juga tetap dapat dipraktekan, yang terpenting adalah syaratnya Anda sudah mamasang composer dan dapat berjalan dengan sebagaimana mestinya, juga memahami sedikit perintah CMD di Windows, dan Terminal di MacOS,

Pencarian Paket

Sebelum masuk ke tahap penggunaan, pastikan Anda mengatahui paket dependensi mana yang Anda butuhkan. Untuk mencari paket bisa lihat di sini:

https://packagist.org/

Cara nama paket yang Anda butuhkan. Contohnya mencari paket phpUnit:

Lalu lihat versinya, disesuaikan dengan kebutuhan Anda.

Jika Anda tipe orang penyuka sesuatu yang serba terbaru (bleeding edge) pilih versi dev-master.

Jika sudah selesai mencari paket, langkah selanjutnya kita pasang paket tersebut. Ada 2 metode untuk pemasangan paket dependensi di Composer. Yakni:

Metode Singkat

Ini adalah cara yang paling mudah. Cara ini akan sangatlah efektif jika digunakan pada saat kita hanya membutuhkan satu dependensi tambahan. Yang perlu Anda lakukan hanyalah, membuka Terminal, kemudian ketik composer require beserta nama paketnya. Contoh:

Aturan dalam penulisan paket selalu dikuti dengan NamaVendor/NamaPaket dan penulisannya case-insensitive artinya huruf kecil maupun kapital tidak dibedakan. foo/bar dengan Foo/Bar itu sama. Namun untuk standardisasi salalu gunakan huruf kecil (lowercase).

Jika ingin dengan spesifik versi:

atau bisa juga dengan format lain:

Jika Anda ingin menggunakan versi stabil gunakan suffiks --stable:

Jika Anda ingin menggunakan versi terbaru / dev version gunakan --dev:

atau bisa langsung ditulis dev-master setelah nama paketnya:

Aturan untuk penulisan versi paket adalah:

  • Versi Tepat.
    Maksudnya Anda hanya butuh versi 1.2.3, maka cukup tulis foo/bar:1.2.3.
  • Menggunakan komparsi atau Range.
    Composer membolehkan kita menggunakan tanda komparasi seperti: >=, >, <=, != (lebih dari sama dengan; lebih dari; kurang dari sama dengan; tidak sama dengan). Anda juga dapat menggunakan logika AND dan OR. Untuk logika AND gunakan pemisah spasi atau koma. Sedangkan untuk logika OR gunakan tanda double pipe ( || ). Contoh:
    • foo/bar:>=1.2 (lebih dari sama dengan versi 1.2.x)
    • foo/bar:<=2.0 (kurang dari sama dengan versi 2.0)
    • foo/bar:>=1.0 <1.1 || >=1.2 (lebih dari sama dengan versi 1.0 DAN kurang dari versi 1.1 ATAU lebih dari sama dengan 1.2; ini artinya versi 1.0 atau lebih dari versi 1.2 tapi lewati versi 1.1)
  • Hypen atau tanda seterip ().
    Cara ini adalah cara yang paling mudah dipakai untuk menspesifikasikan versi misalnya:
    Kita hanya ingin versi 1.0 sampai dengan 2.0 cukup tulis:
    foo/bar:1.0-2.0 berequevalen >=1.0 <2.1.
  • Wildcard atau tanda bintang (*).
    Jika kita hanya butuh versi Mayor dengan Minor yang paling baru.
    Contoh Anda hanya butuh versi 1.2 yang terbaru. Cukup tulisan:
    foo/bar:1.2.* Ini berarti versi >= 1.2.0 < 1.3.0 (lebih dari sama dengan versi 1.2.0 sampai dengan kurang dari versi 1.3.0)
  • Tilde (~).
    Jika kita hanya membutuhkan versi 1.2 sampai seterusnya tapi jangan sampai ke versi 2.0.0 harus kurang dari itu (>=1.2 < 2.0.0). Contoh:
    foo/bar:~1.2 Ini berarti >= 1.2.0 < 2.0.0. Jika Anda menulis 3 nomor yakni mayor, minor dan patch, contoh 1.2.3 maka ia hanya sampai versi kurang dari 1.3.0. foo/bar:~1.2.3 artinya >= 1.2.3 < 1.3.0.
    Jika paket terdapat versi beta. Contoh versi 2.0-beta.1 ia akan tetap dimasukan mengapa? karena versi 2.0 beta adalah versi sebelum 2.0 jadi tetap masuk kategori jika kita menulis ~1.2.
  • Caret (^). Jika kita membutuhkan spesifik versi minor atau versi sebelum versi 1.0 (pre-version) misalnya: foo/bar:^3.0 ini artinya >=0.3.0 <0.4.0.

Metode Terperinci

Metode ini hemat saya adalah metode terbaik. Sangat bermanfaat jika kita ingin membangun suatu project dengan berbagai macam dependensi, cukup tulisankan dependensi yang diperlukan dalam satu berkas. Juga dengan metode ini, akan mempermudah kita pada saat distribusi kode. Jadi tidak perlu mencari dependensi mana saja yang diperlukan. Cukup ketik composer install maka semua kebutuhan akan terpenuhi.

Berikut caranya:

Pertama-tama Anda harus buat satu berkas dengan nama composer.json. Kemudian isi seperti kode dengan format di bawah ini:

Untuk aturan penulisan versi bisa dilihat di atas. Setelah selesai, melakukan perintah berikut:

Contoh di atas adalah pemasangan paket Monolog. Lebih mudah bukan?

Sebagai tambahan, jika Anda ingin mengimplentasikan PSR-0 dan `PSR-4` di Composer dapat menambahkan baris kode seperti contoh berikut penerapan PSR-4:

Sedangkan PSR-0 nya:

Setelah itu lakukan generate ulang autoloader dengan cara:

Untuk lebih lengkap silahkan baca: https://getcomposer.org/doc/04-schema.md#autoload

Tahap Implementasi

Jika sudah selesai memasang paket, maka Anda akan melihat sebuah direktori bernama vendor dan berkas bernama composer.lock.

Direktori vendor berisi semua dependensi yang Anda pasang. Kemudian berkas composer.lock berisi tentang informasi

Sekarang kita hanya tinggal panggil saja pustakanya dengan autoloader. Yakni:

Kode di atas wajib ditulis untuk memanggil dependensi yang sebelumnya telah Anda pasang. Kemudian setelahnya Anda tinggal memasukan kode disesuai dengan paket yang Anda pasang sebelumnya. Contoh berikut ketika saya memasang paket Redis:

Nah kan, cukup mudah bukan?

Menghapus Dependensi

Mungkin Anda telah menemukan dependensi lainnya yang lebih simpel juga lengkap. Kemudian Anda ingin menghapus dependensi lama Anda, yang mana ia tidak lagi diperlukan. Bagaimana cara melakukannya? Cukup mudah lakukan perintah berikut:

Contoh ketika saya menghapus dependensi monolog:

Memperbaharui Dependensi

Adakalanya kita perlu memperbaharui (update) dependensi demi menjaga stabilitas kode, terhadap bugs atau kerentanannya. Cara termudah memperbaharui dependensi adalah dengan perintah:

Cara di atas memperbaharui seluruh dependensi yang telah Anda pasang. Jika Anda menginginkan satu atau beberapa dependensi saja yang diperbaharui, gunakan perintah berikut:

Oke, sampai di sini dulu dasar-dasar penggunaan Composer. Hemat saya perintah dari tulisan ini adalah perintah dasar dari yang paling dasar yang wajib diketahui bagi Anda yang ingin memanfaatkan pustaka luar dengan Composer. Sebagai tambahan beberapa perintah jika Anda ingin lebih terperinci bisa menambahkan suffiks --help contoh:

Semoga bermanfaat. 😁

Ayo Berlangganan!

Dapatkan pemberitahuan artikel-artikel terbaru super cepat, langsung dari surel Anda.
Lebih dari 320 telah berlangganan situsali.com, ayo segera daftarkan surel Anda sekarang juga!



Perhatian!

Demi kenyamanan bersama, sebelum berkomentar, harap gunakan bahasa yang baik dan benar. Juga baca aturan dalam berkomentar. Dilarang berkomentar yang dapat memicu pertengkaran dan menyinggung unsur SARA (Suku, Agama, Ras, dan Antar Golongan).

2 Replies to “Dasar-Dasar Menggunakan Composer (Dependency Manager for PHP)”

Leave a Reply