Wander Computindo, pengembang sistem website Indonesia. Jasa Pembuatan Website Perusahaan & Personal, Jasa Pembuatan Aplikasi Database Website, Jasa Pembuatan Aplikasi Custom, Jasa Perbaikan Program Website.

Home > Kamus Teknologi > Berkenalan Dengan Composer Dependency Manager

Berkenalan Dengan Composer Dependency Manager

Apa itu composer?

Composer adalah dependency manager khusus PHP yang memiliki fungsionalitas seperti Gem (Ruby) atau Maven (Java). Anda bisa menginstall suatu library melalui composer dan composer akan secara otomatis menginstall library lain yang dibutuhkan, tanpa perlu mendownload satu persatu. Mirip dengan apt get install di sistem operasi linux.

Mungkin Anda pernah merasakan bagaimana sulitnya me-manage project yang melibatkan library third party. Terutama memastikan tiap library ter-update mana kali versi terbaru keluar.

Kehadiran composer membuat proses coding php jadi lebih terstruktur dan lebih rapi. Banyak programmer terbiasa dengan bahasa pemrograman yang terstruktur, ketika pindah ke php, menemukan banyak hal yang rancu. Terutama dalam memanajemen struktur hirarki project. Sehingga membutuhkan usaha lebih untuk menerapkan konsep OOP yang baik dalam php.

Kenapa harus menggunakan composer ?

  • Membuat kita ngoding PHP lebih terstrukur dengan konsep MVC.
  • Tidak perlu meng-include semua file php atau class php yang dibutuhkan, sudah ada autoload yang menhandle fungsi tersebut.
  • Package yang dibutuhkan akan otomatis terpasang pada composer tanpa harus meng-include kan terlebih dahulu
  • Dengan menggunakan packagist, kita dapat menggunakan ribuan package yang sudah ada di composer

Dengan beberapa alasan diatas, kita tahu bahwa composer sangat powerful dan terstruktur maka tidak heran saat ini banyak developer backend memakai composer untuk menggunakan framework laravel yang bersaing dengan framework CodeIgniter.

Hal ini bisa terjadi karena seperti yang kita tahu, bahwa dalam bahasa pemrograman php, pada setiap kali request, maka hanya ada satu file php saja yang dieksekusi. Hanya satu file saja. Dan jika kita ingin mengakses file lain yang terpisah seperti misalkan memanggil function di file lain atau membuat instan dari kelas yang filenya terpisah, maka kita perlu menginclude atau require file yang bersangkutan sehingga seolah-olah file yang terpisah tadi jadi satu dengan file yang request user sedang mengarah kepadanya.

Dengan composer dan autoload-nya serta namespace, kita bisa bebas mengakses file-file php tanpa harus ribet meng-include atau me-require semua file atau class yang kita butuhkan, autoload dari composer sudah melakukan semua itu out of the box. Sehingga oop dalam php benar-benar makes sense.

Selain autoload, composer sebagai dependencies atau package manager juga menyelesaikan permasalahan dependencies dalam project kita. Semisal, kita membutuhkan suatu package atau library A.

Jika kita menggunakan cara konvensional, maka kita perlu mendownload package A dan meletakkannya dalam project kita, lalu untuk mengakses library tersebut, kita perlu melakukan include atau require terhadap file-file dari library A. Sekilas memang terlihat simpel, tapi, bagaimana jika library A ternyata membutuhkan library lain katakanlah library B, lantas library B juga membutuhkan library C? Kita bisa pusing sendiri.

Belum lagi soal versi? Library A versi sekian membutuhkan library B versi sekian, dan library B versi sekian membutuhkan library C versi sekian. Kita benar-benar akan mendapatkan masalah yang rumit jika tidak jeli dalam mengantur dependencies dalam project kita.

Dan kabar baiknya, composer hadir untuk menyederhanakan masalah tersebut! Kita cukup memasang library A dengan composer, maka semua library yang dibutuhkan oleh library A akan otomatis dipasang juga oleh composer. Dan kita juga tidak perlu repot-repot merequire atau meng-include file library satu per satu.

Untuk repository sendiri, composer menggunakan packagist. Di mana terdapat ribuan package dan libraries php di packagist yang kita bisa langsung gunakan hanya dengan composer. Dan terhitung sejak bulan September 2011 hingga hari ini, terdapat lebih dari 83K packages dan lebih dari 414K versions packages yang dihost di packagist (data bisa dilihat di → https://packagist.org/statistics).

Ini artinya, dengan composer, kita memiliki akses yang luas dan mudah untuk mendapatkan banyak package. Tentunya ini bisa meningkatkan tingkat keproduktifitasan kita serta meningkatkan efektifitas kerja. Bukankah itu menarik?

Happy Coding!

Star Rating:
0 (0)
Bagikan ke teman:

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Share!