Composer saat ini sudah sangat umum digunakan di framework PHP modern, seperti Yii 2, Laravel, Symfony, Phalcon, dll. Mayoritas framework pemrograman PHP modern saat ini sudah menggunakan Composer sebagai basis pengembanganya. Namun bagaimana dengan framework Codeigniter? Sampai dengan saat ini Codeigniter versi 3.x belum secara resmi menggunakan Composer di dalam paket framework nya.
Composer adalah solusi bagi programmer PHP untuk memanajemen dependency aplikasi secara mudah dan efisien. Dengan menggunakan Composer kita dapat dengan mudah menambahkan kode library dan plugin untuk aplikasi kita. Di framework Codeigniter kita biasanya akan menambahkan kode library dan plugin secara manual di dalam direktori “application/libraries” atau “application/third_party”. Hal ini tentu akan menyulitkan ketika akan melakukan update atau ada pembaruan dari pembuat kode library yang kita gunakan. Karena kita harus mengupdate nya secara manual. Dengan Composer proses instalasi, update, dan hapus plugin atau library bisa dilakukan secara otomatis.
Bagi kamu yang sudah terbiasa dimanjakan dengan penggunaan Composer, mungkin akan merasa kesulitan jika harus kembali menggunakan Codeigniter versi 2.x dalam pengembangan aplikasi. Dalam tutorial kali ini kita akan membahas bagaimana cara Integrasi Composer Dengan Codeigniter 2.x.
Step 1 : Install Composer
Sebelum kita dpat menggunakan Composer, kita harus menginstall Composer di komputer atau server kita. Untuk petunjuk instalasi Composer bisa kamu baca di sini.
Step 2 : Buat File composer.json
Langkah pertama adalah, kita harus membuat file “composer.json”. File ini akan digunakan oleh Composer untuk menyimpan konfigurasi dependency yang akan kita gunakan. Untuk mempermudah, kita bisa menempatkan file composer.json ini di di direktori “application”.
Sebagai contoh, kita akan menambahkan package Nesbot Carbon di aplikasi kita. Nesbot Carbon adalah library yang akan memudahkan kita dalam membuat dan mengelola data tanggal dan hari atau yang biasa disebut DateTime di PHP. Tambahkan kode berikut di file “composer.json” :
{
"require": {
"nesbot/carbon": "~1.18"
}
}
Step 3 : Install Dependencies
Langkah terakhir adalah kita menginstall package yang telah kita tambahkan di file “composer.json” tadi. Buka Command Prompt atau Terminal jika kamu menggunakan Linux. Masuk ke direktori “application” di aplikasi kita. Kemudian ketik perintah berikut :
composer install
Selanjutnya Composer akan melakukan proses instalasi package yang telah kita tambahkan. Tunggu sampai proses instalasi selesai. Jika proses instalasi berhasil, kita akan melihat sebuah folder baru bernama “vendor”. Folder ini nantinya akan digunakan oleh Composer untuk menyimpan dependency plugin dan library yang akan kita gunakan.
Step 4 : Buat File Library
Setelah menginstall Composer. Langkah selanjutnya adalah mengatur bagaimana aplikasi Codeigniter kita dapat manggunakan library yang telah kita install melalui Composer. Pertama buat sebuah library di aplikasi Codeigniter kita. Sebagai contoh kita akan membuat library “application/libraries/MY_Composer.php”. Isi dengan kode bierkut ini :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Composer
{
function __construct()
{
// COMPSER VENDOR DIRECTORY
include(APPPATH.'vendor/autoload.php');
}
}
Di dalam library tersebut kita menambahkan folder file "autoload.php" dari Composer agar di load secara otomatis oleh aplikasi Codeigniter kita. Selanjutya lakukan konfigurasi agar library “MY_Composer.php” di jalankan secara otomatis, dengan menambahkan konfigurasi sebagai berikut di file “application/config/config.php”
$autoload['libraries'] = array('MY_Composer','database','session');
Step 5 : Menggunakan Library
Setelah proses instalasi dan konfigurasi Composer berhasil. Saatnya kita mencoba menggunakan library Nesbot Carbon yang telah kita install sebelumnya. Buat sebuah controller di aplikasi Codeigniter kita, sebagai contoh “application/controller/waktu.php”. Isi dengan kode berikut :
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
use Carbon\Carbon;
class Waktu extends CI_Controller {
public function __construct()
{
parent::__construct();
}
public function index()
{
echo "Waktu Sekarang : ".Carbon::now();
}
}
Demikian kita sudah belajar cara Integrasi Composer Dengan Codeigniter 2.x. Semoga bermanfaat dan berguna untuk pengembangan aplikasi Codeigniter kita selanjutnya. Ingin bertanya dan berdiskusi lebih lanjut? Isi di kolom komentar ya. Keep Positive and Happy Coding! :)