Apa Itu Composer ? Buat apa ? dan Bagaimana ?

apa itu composer dan apa manfaatnya dalam programming akan saya coba review .

History 

Sejak dirilis pada 1 Maret 2012 Komposer telah memperoleh popularitas yang luas unt uk membawa sesuatu yang sangat di butuhkan untuk PHP : Depedency Management.

manajemen ketergantungan. Composer pada dasarnya adalah cara untuk menarik semua perangkat lunak pihak ketiga(third party) seperti framework CSS, plugin jQuery dan lain-lain ke dalam proyek Anda.

Saya yakin ada banyak programmer diluar sana yang bertanya-tanya tentang manfaat menggunakan Composer dan banyak yang takut untuk membuat perubahan ke sistem baru. Dalam artikel ini kita akan lihat apa sebenarnya Composer , apa yang bisa dilakukan dan mengapa itu adalah alat yang hebat untuk proyek-proyek PHP.

pertama kita akan mengenal lebih lanjut mengenai apa itu Depedency Management ?

Apa Itu Depedency Management ?

depedency managemen sebenarnya adalah sebuah konsep yang cukup sederhana. Mari kita asumsikan Anda membuat sebuah website satu halaman(SPA/single page application) menggunakan framework atau library javascript maupun css. Bagaimana Anda memastikan bahwa library ditambahkan ke proyek Anda?

Pendekatan yang umum adalah untuk pergi ke situs web, men-download paket dan menempatkannya di suatu tempat dalam proyek Anda. Sejauh ini bagus. Sekarang, apa yang Anda lakukan ketika Anda ingin memperbarui ke versi terbaru? Anda mengulangi hal yang sama, Timpa versi lama. :0

mari kita asumsikan itu berlangsung sementara waktu dan anda menyadari ada yang salah. library yang anda install ternyata ada bugs dan mengharuskan untuk me rollback (install versi sebelumnya) sambil menanti versi bug terbaru di perbaiki oleh developer library (framework) ataupun komunitas.

mari kita berasumsi kembali saat anda melanjutkan project orang lain yang menggunakan library tertentu pula, pertanyaannya di letakkan dimana library yang sudah di gunakan dan menggunakan versi yang mana adalah pertanyaan umum jika kita melanjutkan project orang lain.

Ini mungkin tidak tampak seperti masalah besar untuk proyek kecil tapi bayangkan sebuah proyek dengan minimal 8-10 dependensi . Mengelola semua modular menjadi tidak mungkin atau – setidaknya – buang-buang waktu.

Depedency Management memecahkan masalah ini dengan mengotomatisasi dan standarisasi. Pengambilan dependensi seperti Foundation, jQuery, Twig, Symphony, modul logging dan sebagainya dapat dilakukan secara lebih terprogram. anda juga dapat memilih versi yang anda butuhkan dalam project dan terhindar masalah konflik library.

Sebuah depedency manager menstandarisasi cara paket disimpan dan di mana mereka digunakan. Dalam prakteknya ini berarti bahwa setiap proyek yang menggunakan Depency yang sama akan mengikuti struktur yang sama – setidaknya untuk dependensi.

Install Composer

System Requirements#

Composer requires PHP 5.3.2+ to run. A few sensitive php settings and compile flags are also required, but when using the installer you will be warned about any incompatibilities.

To install packages from sources instead of simple zip archives, you will need git, svn or hg depending on how the package is version-controlled.

 

 

composer dapat di install di windows, linux maupun mac os,

Install Composer di windows

untuk windows yang paling mudah adalah download installer dalam bentuk exe  di : https://getcomposer.org/Composer-Setup.exe

Langkah – langkah instalasi composer di windows dan paket installer untuk php yang di gunakan adalah xampp.

composer1 composer2 composer3 composer4 composer5 composer6 composer7 composer8 composer9

Cek Instalasi Composer di Windows Menggunakan  Command Prompt 

composer cek

command nya adalah cukup mengetikkan composer dan tekan enter

maka muncul tampilan seperti gambar di atas

Installasi- Linux / Unix / OSX#

untuk distro ubuntu sumber : https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-14-04

untuk distro yang lain maupun yang mengunakan mac os bisa googling 🙂

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *