Cara Menggunakan Composer di Codeigniter

Pernah dengar tentang composer ? coba lihat http://www.getcomposer.org/,  composer adalah Dependency Manager untuk PHP? ooohh masih blum mudeng juga? jadi sebenarnya Class / Paket PHP masih bersifat fregmentasi yg bisa dibilang tersebar dimana, disini tugas si composer adalah sebagai pengikat dari Class/Paket PHP yang harusnya bersifat universal. Universal ? iya jadi php banyak framework contoh Zend, Laravel, Symfony dll. mereka membuat class masing2 untuk kebutuhan mereka jadi bukankah hal yg baik jika class yg ada bisa di pake di framework lainnya ?

Di CI kita kenal akan getspark nah itu khusus CI saja, yang saya bahas disini adalah permulaannya saja, saya tidak mengulas cara instalasi Composer saya anggap anda sudah bisa instalasi Composer. untuk memanggil cukup mudah kita perlu melakukan perubahan file di index.php pada root directory CI, ada banyak macam caranya salah satu yg saya suka seperti ini

<code>

/*
* ——————————————————————–
* LOAD THE BOOTSTRAP FILE
* ——————————————————————–
*
* And away we go…
*
*/
require FCPATH.’./vendor/autoload.php’;

require_once BASEPATH . ‘core/CodeIgniter.php’;

</code>

 

Dengan begini kita bisa memanggil paket2 yg kita perlukan, dan menggunakannya di Class Libraries atau di Class Controller. Contoh penggunaan lebih lengkapnya akan menyusul ya 😀

Database Migration

Pembahasan kita saat ini adalah tentang database migration, mungkin beberapa orang bertanya buat apa sih database migration, trus apa sih gunanya. Mari kita bahas disini tentang Migrasi, pada umumnya setiap developer atau programmer baik perorangan maupun group lebih sering suka membuat database dan table langsung baik pada sql manager, phpmyadmin, squirellsql, navicat dll.

Memang lebih enak menggunakannya sebab langsung melakukan perubahan di DBMS itu sendiri tetapi jika si A (programmer) melakukan perubahan code program dan si B (Analis yang terperangkap sebagai Implementasi program) tersebut di suatu perusahaan C tidak mengetahui bahwa A telah ada penambahan field pada suatu table maka jika A lupa memberitahukan si B bahwa ada penambahan field di table itu maka apa yang terjadi ? pasti program tersebut pasti tidak akan jalan dengan semestinya.

Di Codeigniter (CI)  memiliki class migration bisa buka link disini, class ini bertanggung jawab untuk menghandle segala bentuk migrasi


defined('BASEPATH') OR exit('No direct script access allowed');

class Migration_Add_blog extends CI_Migration {

public function up()
{
$this->dbforge->add_field(array(
'blog_id' => array(
'type' => 'INT',
'constraint' => 5,
'unsigned' => TRUE,
'auto_increment' => TRUE
),
'blog_title' => array(
'type' => 'VARCHAR',
'constraint' => '100',
),
'blog_description' => array(
'type' => 'TEXT',
'null' => TRUE,
),
));

$this->dbforge->create_table('blog');
}

public function down()
{
$this->dbforge->drop_table('blog');
}

 

Contoh diatas adalah class dari penggunaan class migration dan class database forge yang berguna untuk membuat table blog. Kalau anda bertanya bagaimana cara menggunakan database migration ini berikut langkah2nya

  1. Buat folder migration didalam folder application
  2. Setiap kali kita akan membuat class yang berfungsi membuat table misalnya table blog maka penamaan file tersebut adalah 001_Add_Blog.php dan untuk versi migrasi selanjutnya 002_Add_News.php dan 003_Nama_File.php dan seterus nya jadi nama file itu berupa penomeran dari dari versi yang akan kita buat.
  3. Penamaan class harus mengikuti kaidahnya misal di file 001_Add_Blog.php maka penamaan class nya Migration_Add_Blog
  4. Membuat Controller untuk mengjalankan perintah migrasi ke versi tertentu buat nama file controller yang bernama migrate nanti isinya seperti ini
    
    class migrate extends CI_Controller {
    
    //put your code here
    public function ver($ver) {
    $this->load->library('migration');
    
    if (!$this->migration->version($ver)):
    show_error($this->migration->error_string());
    else:
    echo 'migration success -'.$ver.br();
    endif;
    
    
    }
    
    }
    
  5. Jalankan class migrate ini di browser sesuai dengan migrasi yang anda buat

Mengapa saya mengulas tentang database migration ini adalah untuk membuka mata para developer atau programer agar lebih rapih lagi dalam membuat suatu program yang nanti nya akan berguna bagi diri kita dan tidak menyulitkan bagi orang lain, jika anda masih bingung tentang ulasan ini anda bisa mengisi komen dibawah ini ya

 

 

Membuat paging di codeigniter dengan mudah

Membuat pagination dengan mudah

Ada kalanya kita memerlukan cara yg singkat untuk menyelesaikan suatu masalah, salah satunya pagination ini pernah terjadi dengan saya kebanyakan tutorial pagination itu menggunakan MySql sebagai contohnya bagaimana dengan MSSQL ada cara nya tidak yg mudah?

Setelah berkutat dengan google akhirnya ketemu dengan http://datatables.net hahaha pagination/ paging2an mudah :P,  sekilas tentang datatables.net ini adalah plug-in dari jquery, bahkan kita bisa menggunakan themes dari jqueryui yang bisa costomize. fiture nya cukup banyak dan berlimpah.

Apakah bisa juga klo kita pake Mysql ??  Tentu bisa selama itu bentuknya adalah table bisa kita pakai datatables ini, dari tutorial sebelumnya membuat table dengan mudah di CI kita pakai sebagai contohnya.

Baca lebih lanjut

Html table class pada codeigniter

Menggunakan HTML Table Class pada CodeIgniter

Membuat table pada CodeIgniter sangat mudah terlebih lagi di CI ( singkatan untuk CodeIgniter)  sudah menyediakan library untuk membuat table secara otomatis, apa benar otomatis ? iya mudah sekali membuatnya.

Langkah pertama membuat struktur table MySQL yang akan kita gunakan untuk di tampilkan berhubung kita membutuhkan contoh untuk membuat table maka kita akan membuat table terlebih dahulu.

Tahap pertama

‘Membuat table’

CREATE TABLE country
(
country_id int PRIMARY KEY NOT NULL,
name varchar(128) NOT NULL,
iso_code_2 varchar(2) NOT NULL,
iso_code_3 varchar(3) NOT NULL,
address_format longtext NOT NULL,
postcode_required bit NOT NULL,
status bit DEFAULT 1 NOT NULL
)
;
CREATE UNIQUE INDEX PRIMARY ON country(country_id)
;

Lalu masukan record kedalam table country

Baca lebih lanjut

Koneksi ke database yg berbeda di codeigniter

Cara koneksi ke dua database yang berbeda pada codeigniter

Pernahkah anda mencoba untuk melakukan koneksi di dua jenis database yg berbeda ? Saya yakin mungkin pernah seperti MySql dan MsSQL di gunakan bersama-sama pada aplikasi yg akan anda gunakan, berikut adalah contoh dari  koneksi ke satu database

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

ini baru salah satu contoh koneksi ke database mysql, bagaimana klo saya mo koneksi ke database lain seperti MsSQL ?

$active_group = 'default';
$active_record = TRUE;

$db['default']['hostname'] = "localhost";
$db['default']['username'] = "root";
$db['default']['password'] = "";
$db['default']['database'] = "database_name";
$db['default']['dbdriver'] = "mysql";
$db['default']['dbprefix'] = "";
$db['default']['pconnect'] = TRUE;
$db['default']['db_debug'] = FALSE;
$db['default']['cache_on'] = FALSE;
$db['default']['cachedir'] = "";
$db['default']['char_set'] = "utf8";
$db['default']['dbcollat'] = "utf8_general_ci";
$db['default']['swap_pre'] = "";
$db['default']['autoinit'] = TRUE;
$db['default']['stricton'] = FALSE;

$db['mssql']['hostname'] = 'mysqlserver';
$db['mssql']['username'] = 'sa';
$db['mssql']['password'] = 'abcdef123';
$db['mssql']['database'] = 'database_name';
$db['mssql']['dbdriver'] = 'mssql';
$db['mssql']['dbprefix'] = '';
$db['mssql']['pconnect'] = FALSE;
$db['mssql']['db_debug'] = TRUE;
$db['mssql']['cache_on'] = FALSE;
$db['mssql']['cachedir'] = '';
$db['mssql']['char_set'] = 'utf8';
$db['mssql']['dbcollat'] = 'utf8_general_ci';
$db['mssql']['swap_pre'] = '';
$db['mssql']['autoinit'] = TRUE;
$db['mssql']['stricton'] = FALSE;

bisa di lihat pada bagian ini

$active_group = 'default';
$active_record = TRUE;

menandakan bahwa koneksi yg kita gunakan adalah koneksi MySql karena yang aktif adalah group default dan kita juga dapat menggunakan perintah aktif record sedang kan group mssql tidak begitu pula sebaliknya jika pada $active_group =’mssql’ maka kita dapat menggunakan perintah aktif record sedangkan group default tidak.

Cara memakai group mssql yg telah kita definisikan pada database.php di codeigniter bagaimana ?

function getid(){
$dbmssql = $this->load->database('mssql',TRUE);

$query = $dbmssql->query('SELECT * FROM mytable');

}

Mudah bukan? Kesimpulan nya adalah bahwa kita dapat menggunakan lebih dari 1 koneksi ke database yang berbeda dengan mendefinisikan pada file database.php ( file directory nya  ../application/config/database.php) dan harus memanggilnya terlebih dahulu dengan perintah $this->load->database(‘nama_grup’, TRUE)