Hello Composer! Easy Package Management

Bagi kalian PHP developer pasti sudah tau kan apa itu composer? Composer adalah salah satu package management yang memudahkan kita untuk mengintall package-package apa saja yang dibutuhkan dalam project/aplikasi yang kita buat.

Composer is a tool for dependency management in PHP. It allows you to declare the dependent libraries your project needs and it will install them in your project for you. #getcomposer.org

Kalau kalian biasa menginstall package/library dengan mendowload manual trus copy paste ke directory project kamu maka sebaiknya tinggalkan itu segera karena ga ada cara yg lebih praktis, dont waste your time. Biarkan composer yang menghandle pakcage/library yang kamu butuhkan baik itu untuk install ataupun update.

1. Install composer

Composer terdiri dari dua bagian utama yaitu folder dimana file-file library/package itu disimpan dan kemudian command line application dimana memudahkan kamu untuk menginstall, mengupdate, dan share code dengan 1 line command saja.

Untuk menginstall composer salah satu caranya adalah dengan mendownload composer.phar kemudian taruh di directory project kamu. Bisa menggunakan curl atau kamu download manual dan copy ke directory project kamu.

cd /path/to/my/project
$ curl -s <a href="<a%20href=" http:="" getcomposer.org="" installer>http://getcomposer.org/installer</a>">http://getcomposer.org/installer">http://getcompos... | php

Untuk memastikan composer sudah terinstall kalian bisa check dengan menjalankan (pastikan php terinstall di system path kamu):

php composer.phar

Command diatas akan menampilkan semua composer command yg tersedia. Untuk info lebih lengkap tentang installasi composer.json kalian bisa check it out here

2. Main file: composer.json

Kalian perlu membuat sebuah file dengan nama composer.json yang berfungsi untuk mengatur dan mendeklarasikan settings and package requirements untuk aplikasi kamu.

{
    "require": {
        "phpunit/phpunit": "4.2"
    }
}

Code diatas adalah contoh file composer.json dimana kita mau menginstall phpunit library yang mau kita pakai untuk testing unit nanti. Umumnya cara mendeklarasikan packagenya adalah “namapackage” kemudian di ikuti dengan version yang kita ingin install.

3. Install Requirement

Sekarang kamu sudah punya file composer.json yang berisi satu package/library di dalamnya. Nah untuk menginstall library tersebut kamu tinggal menjalankan command ini di command line kamu:

php composer.phar install

Atau jika kalian sudah menginstall composer secara global, maka kalian tinggal jalankan command ini:

composer install

Yup, tunggu sebentar sampai dependency selesai terdownload. (kalian harus online ya, karena composer harus mendownload dahulu masing-masing dependency yang kamu butuh).

4. The Magic : Autoloading 

Autoloading in PHP has been a bit of a mess for some time.

Setiap orang punya caranya masing-masing untuk menghadle autoloading. Ada yang menginclude satu per satu filenya, ada yang membuat sebuah file khusus di aplikasi mereka yang khusus digunakan untuk meng-load file-file yang dibutuhkan, so it a bit of a mess.

Tapi PHP sendiri memiliki standar yg disebut PSR-0 yang dibuat oleh PHP Standards Group untuk mengurangi banyak style dalam autoloading. Meski sekarang sudah sampai PSR-4 tapi tergantung PHP version yang aplikasi kamu pakai.

Contoh penggunaan autoload sendiri sebenarnya sangat simple, kalian hanya menginclude satu line code dan semua depedency yang kalian install via composer sudah terload otomatis.

include_once './vendor/autoload.php';

Misalnya kalian punya sebuah file index.php dan ingin meload depedency yang sudah kalian install maka kira-kira susunan codenya akan seperti ini:

<?php
//autoload depedency
include_once './vendor/autoload.php';

//your code start here
....

5. Summary

If you want to be really clever, you can automate the whole process #Philip Sturgeon

Kedepannya penggunaan composer akan semakin banyak, mengingat juga beberapa PHP frameworks yang mulai mengintegrasikan autoloading, misalnya saja FuelPHP, CodeIgniter yang akan support autoloading dan Symfony2 yang sudah dari dulu menggunakannya dan yang terakhir Laravel yang memeperlihatkan betapa penting dan memudahkannya composer untuk depedency management.

Yoo! Composer adalah salah satu cara yang keren dan mudah untuk mengatur dependencies project kamu tanpa PCEL extensions atau copy dan paste file-file lagi.

Please follow and like us:
Tags: composer

Hi, Saya Agus Yusida

Hello, perkenalkan saya Agus Yusida, seorang freelancer programmer, pernah membuat startup dan suka mencoba hal-hal baru. Jika ada pertanyaan bisa DM saya di IG @yusidajohn untuk fast respond. Jangan lupa like facebook ngide.net ya!

Related Article