Me inspirasion

Me inspirasion

Jumat, 16 April 2010

Code igniter

CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangun website dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal.

Tulisan ini adalah tulisan sederhana dengan harapan, saya bisa berbagi pemahaman saya selama belajar PHP dan codeigniter php framework.
PHP adalah bahasa script yang umumnya digunakan untuk membuat aplikasi berbasis web. Pertama kali dikembangkan oleh Rasmus L. Sekarang, PHP adalah raksasa dengan banyak sekali pengguna dan pengembangan.
Framework adalah kumpulan script php yang saling berkomunikasi dan bekerja bersama. Yap, itu pengertian sederhana dari saya, jika anda ingin berpusing-pusing, silahkan googling!
Codeigniter adalah php framework yang awalnya ditulis oleh mas Rick Ellis, pendiri dan CEO EllisLab.com, perusahaan yang mengembangkan codeigniter. Saat ini, codeigniter dikembangkan oleh komunitas dan disebarkan ke seluruh dunia dengan lisensi bebas.

Fitur-fitur Codeigniter
Dari websitenya, codeigniter sanggup:
• Berinteraksi dengan database apapun dengan satu bahasa tunggal
• Memanajemen session dan cookies
• Melakukan validasi user input
• Membangun html seperti tabel, form, link, dan lainnya dengan kode minimal
• Berkomunikasi dengan xmlrpc, ftp, captcha, rss dan teknologi lainnya
• dan lainnya
Codeigniter PHP framework Requirements
Untuk menggunakan codeigniter dengan maksimal, anda akan memerlukan:
• PHP 4.3.2 atau lebih baru
• Web server, saya rekomendasikan Apache
• MySQL, MySQLi, MS SQL, Postgre, Oracle, SQLite atau ODBC
• Codeigniter php framework. Anda bisa mendownloadnya di http://codeigniter.com/download.php
Instalasi Codeigniter PHP framework
Instalasi Codeigniter sangat mudah, ekstrak paket codeigniter hasil download anda, tempatkan di folder web server anda.
Saya sendiri meletakkannya di direktori /home/amrinz/website/berugak.com dan bisa diakses menggunakan web browser dari alamat http://berugak.com.
Jika anda belum melakukan setup virtual hosting seperti saya, anda bisa meletakkan hasil ekstrak di /var/www/codeigniter dan mengaksesnya melalui browser di alamat http://localhost/codeigniter.
Jika anda mengakses alamat url tersebut diatas, dan yang keluar adalah halaman selamat datang dari pengembang codeigniter, yakinlah, anda sudah sukses melakukan instalasi.
Selamat!
Struktur Direktori Codeigniter PHP framework
Saat anda mengekstrak anda pasti menemukan struktur direktori seperti gambar ini:

struktur file dan folder codeigniter
File index.php yang anda lihat, adalah file yang meload konfigurasi paling awal codeigniter, seperti nama folder system, nama folder applications, yang jika dengan alasan keamanan ingin anda ubah, disini tempatnya.
Folder system, sebagai direktori induk semua script codeigniter diletakkan. Dan kita akan bekerja di dalam folder application.
Di dalam folder system, kita akan sering bekerja dengan folder controllers, models, dan views (dari konsep MVC, Model <-> Views <-> Controller).
Folder config, berisi file-file konfigurasi untuk database – dalam file config.php, controller default – dalam file routes.php, konfigurasi database – di file database.php, dan file-file lainnya.
Perlu anda perhatikan, pada gambar di atas, saya menambahkan satu direktory untuk meletakkan file-file css, javascript, image dan lain-lain di luar folder system, yang saya beri nama myfile.
Untuk lebih detail, silahkan anda meluncur ke website codeigniter, atau membeli salah satu bukunya. Professional CodeIgniter
Bagaimana Codeigniter Bekerja?
Saat anda mengakses alamat instalasi codeigniter, misalkan di alamat http://localhost/codeigniter, anda menjumpai halaman selamat datang.
Halaman ini disediakan oleh file welcome_message.php di dalam folder system/application/views. File tersebut dikontrol oleh file welcome.php di folder system/application/controllers.
Disini, controller welcome.php tidak menggunakan model, karena aplikasinya sangat sederhana, tidak ada pengolahan data, tidak memerlukan interaksi dengan visitor.
Bagaimana codeigniter mengetahui controller mana yang dipanggil saat kita mengakses alamat root http://localhost/codeigniter (sebenarnya kita mengakses: http://localhost/codeigniter/index.php/controller_default)? Hal ini, kita definisikan di dalam file routes.php dalam folder system/application/config.

codeigniter bekerja seolah-olah sebuah struktur cangkir
Nah, sampai disini dulu perkenalan dengan codeigniter, mudah-mudahan saya bisa menulis hal lain tentang codeigniter di kemudian hari.
see ya!
Daftar Pustaka dan Referensi:
• CodeIgniter for Rapid PHP Application Development.
Improve your PHP coding productivity with the free compact open-source MVC CodeIgniter framework!
• Professional CodeIgniter
• Codeigniter Internasional > http://codeigniter.com
• Komunitas Codeigniter Indonesia > http://codeigniter-id.com







Contoh kode untuk pemula:


1. Bukalah file routes.php di folder CodeIgniter_1.6.0/system/application/config
2. Ganti $route['default_controller'] = "welcome"; dengan $route['default_controller'] = "pemula";
3. Buatlah file pemula.php di folder CodeIgniter_1.6.0/system/application/controllers/
4. Isi file pemula.php seperti berikut :
class Pemula extends Controller {
function Pemula()
{
parent::Controller();
}
function index()
{
$this->load->view('pemula_view');
}
}
?>
5. Buatlah file pemula_view.php di folder CodeIgniter_1.6.0/system/application/views
6. Isi file pemula_view.php sebagai berikut :


PEMULA


Saya benar-benar seorang pemula






CodeIgniter PHP Framework
Contoh: // Controller I
class Content extends Controller {
public function __construct() {
parent::Controller();
// file-file ini sebaiknya di load di fitur autoload
$this->load->helper('url');
$this->load->helper('cookie');
$this->load->library('language');

if(get_cookie('bahasa') === 'en') {
$this->config->set_item('language', 'english');
$this->load->model('english', 'current_language');
}
else {
$this->config->set_item('language', 'indonesia');
$this->load->model('indonesia', 'current_language');

set_cookie(array('name' => 'bahasa',
'value' => 'in',
'expire' => '8650',
'prefix' => ''));
}
}

public function index() {
// Mengambil data dari language file di application/language
$this->lang->load('d3ptzz');
$data['title'] = $this->lang->line('title');
$data['hello'] = $this->lang->line('hallo');

// Mengambil data dari model
$data['dari_db'] = $this->current_language->get_data();
$this->load->view('view_multibahasa', $data);
}
}
//------------------------------------------------------
?>

//Controller II

// Controller ini fungsinya cuma merubah cookie['bahasa] sesuai request.
// Setelah selesai merubah cookie['bahasa'], terus di redirect ke halaman semula
class Language_setter extends Controller {
public function __construct() {
parent::Controller();
$this->load->helper('cookie');
$this->load->helper('url');
}

public function index() { }

public function set_to($language) {
if(strtolower($language) === 'english') {
$lang = 'en';
}
else {
$lang = 'in';
}

set_cookie(array('name' => 'bahasa',
'value' => $lang,
'expire' => '86500',
'prefix' => ''));

if($this->input->server('HTTP_REFERER'))
redirect($this->input->server('HTTP_REFERER'));
}
}
//------------------------------------------------------
?>

// Model I
class English extends Model {
public function __cosntruct() {
parent::Model();
}

public function get_data() {
// Pura-puranya disini dilakukan query ke database
// dan ini adalah hasilnya :
return 'I am data from database fetched via English model';
}
}
//------------------------------------------------------
?>

// Model II
class Indonesia extends Model {
public function __cosntruct() {
parent::Model();
}

public function get_data() {
// Pura-puranya disini dilakukan query ke database
// dan ini adalah hasilnya :
return 'Saya data dari database di ambil via model "Indonesia"';
}
}

//------------------------------------------------------
?>

// File view, beri nama view_multibahasa.php
?>

<?=$title?>


















Indonesia |
English

Mengambil Data dari file lang bahasa di application/language




Mengambil Data dari Database via Model






//------------------------------------------------------
?>

// Simpan di application/language/english/d3ptzz_lang.php
$lang['title'] = ' Multi Language Web Site';
$lang['hallo'] = 'Hi, my name is d3ptzz.';

//------------------------------------------------------
?>

// Simpan di application/language/indonesia/d3ptzz_lang.php
$lang['title'] = ' Web Site Multi Bahasa';
$lang['hallo'] = 'Hallo, nama saya d3ptzz.';


Tidak ada komentar:

Posting Komentar