Apa itu Composer / Dependency Manager dan Kegunaanya

Composer Adalah sebuah tools yang menjebatani developer aplikasi untuk mendapatkan library tambahan yang dapat membantu pekerjaan pembuatan aplikasi

Pengertian Composer ( Dependency Manager )

Tekinfom.com -  Composer merupakan sebuah tools untuk mendapatkan dependency, dependency jika kita gunakan untuk projek PHP adalah dimana PHP yang membutuhkan library tambahan dari pihak luar, nah composer ini adalah sebagai tools untuk mendapatkan library yang dibutuhkan dari pihak luar tersebut.

Jika php menggunakan composer sebagai tools yang menjebatani untuk mendapatkan library tambahan dari luar, maka dibahasa pemrograman lain pun saat ini juga memiliki tools seperti composer ini, sebagai contoh untuk pemrograman ruby menggunakan gem, java menggunakan maven dan Gradle begitu juga Javascript mempunyai npm.

Dependency manager memungkinkan kita sebagai programer php membuat dan mengambil library dari packagist.org, yang dimana  packagist.org sendiri merupakan suatu situs yang menyediakan banyak sekali library yang bisa gunakan untuk project yang sedang kita kerjakan. selain download kita juga bisa mengupload library pada situs ini.

Kelebihan menggunakan Dependency Manager 

Terdapat banyak manfaat yang sangat membantu disaat kita menggunakan dependency manager saat kita mengerjakan sebuah program atau project, dengan memanfaatkan dependency manager. yang paling terasa pekerjaan kita akan sangat terbantu dengan library yang tersedia, sehingga membuat pekerjaan kita semakin lebih cepat dibandingkan kita membuat semuanya sendiri.

Kode menjadi lebih terstruktur serta auto update

Dengan menggunakan tools ini, struktur kode yang kita buat semakin lebih rapih dan terstruktur  saat kita mengerjakan php dengan menggunakan konsep mvc, dan package yang kita install melalui tools ini akan dengan mudah terupdate secara otomatis tanpa harus kita update secara manual.

Feature autoload 

kita tidak perlu melakukan include terhadap semua file php atau class php yang di butuhkan dalam projek php yang sedang kita kerjakan saat ini, karena sudah terdapat feature autoload yang menghadle fungsi tersebut.

Dukungan library yang siap pakai

Dengan menggunakan package manager kita bisa dengan leluasa menggunkan ratusan bahkan ribuan package yang sudah tersedia dan siap pakai di packagist.

Cara Kerja Composer

Nah sekarang pertanyaannya bagai mana cara kerja composer untuk aplikasi php?, jawabannya sesuai dengan yang sudah di uraikan di atas, bahwa composer berfungsi sebagai jembatan penghubung untuk mendapatkan library yang dibutuhkan dari packagist.org sebagai penyedia package atau bundlenya.

Packagist akan mencari dan memberikan fitur - fitur yang tersedia dan terintegrasi dengan data github / gitlab atau versioning lainya yang terhubung dengan packagist.org.

Dan sebagian besar repo dari banyak versioning seperti gitlab, github dll ini mempunyai link perintah yang akan menyerdehanakan disaat di download atau di ambil melalui composer tools.

Struktur denpendency dibuat dari repository yang munkin memerlukan repository kontinental  (child-parent dependency) dari situs repository frameworks (a parent for the previous parent).

Kenapa Developer harus menggunakan dependency manager

Munkin ada pertanyaan kenapa kita harus memanfaatkan depency manager untuk membatu pekerjaan kita saat kita melakukan coding , sebetulnya jawabanya sudah sangat jelas bahwa depency manager sangat membantu pekerjaan kita saat melakukan pekerjaan coding, dengan adanyanya depency manager ini, membuat pekerjaan kita jauh lebih mudah, rapih dan cepat jika kita menggunakannya.

Bagi kita programer pasti kita dihadapkan dengan framework populer saat ini misal laravel, symfony2, phalcon dll, yang dimana setiap kita memulai membuat module baru, pasti sedikit banyak dihadapkan pada versi framework terbaru, semakin banyak bundle dan versi yang bergerak saat cepat saat ini, maka dependency manager menjadi solusi terbaik untuk masalah tersebut. 

Dengan hadirnya depency manager ini kita bisa memiliki kontrol terhadap versi bundle yang sesuai dengan versi yang sedang kita kerjakan saat ini, sehingga dependecy manager ini menjadi solusi terbaik bagi pada development yang super sibuk dan tidak kenal waktu.



Menembus Batas

Posting Komentar