codeigniter indonesia
Tutorial

CodeIgniter Indonesia 6 Hello CodeIgniter

Pada bab ini kira akan memulai coding menggunakan Codeigniter. Sebelum memulai memulai maka perlu kita pahami kembali apa itu Controller? Dan bagaimana hubungan controller dengan URI?

Apaan sih Controller?

CodeIgniter adalah sebuah framework berbasis MVC. Sebuah Controller dapat dikatakan sebagai jantung dari suatu aplikasi, karena controller menentukan bagaimana permintaan HTTP yang harus ditangani. Sebuah kelas Controller adalah sebuah file yang terletak di dalam folder application/controller dan memiliki nama file yang sama dengan nama kelasnya dan dikaitkan dengan URL.

Segmen-segment pada URL pada codeigniter mencerminkan Controller yang dipanggil. Contoh: http://www.domainsaya.com/class/fungsi/id maka domain tersebut dapat dipecah menjadi bagian- bagian diantaranya:

Adapun komponen-komponen URL diatas adalah

  • Konfigurasi Base Url, Bagian ini merupakan url yang kita masukkan pada konfigurasi base_url yang berupakan url paling dasar untuk mengakses web atau aplikasi kita
  • Segmen URI pertama yaitu class. Class tersebut merupakan nama kelas controller yang akan kita panggil. Apabila segment ini kosong maka akan digantikan dengan default controller yang telah disetting di konfigurasi router.php
  • Segmen URI kedua yaitu fungsi dari class controller yang telah kita panggil tadi. Apabila segment kedua ini kosong maka fungsi yang dipanggil adalah fungsi index dari kelas controller tersebut
  • Segmen URI ketiga biasanya berisi parameter dari fungsi. Jika fungsi dari controller yang dipanggil mempunyai parameter maka parameternya harus dimasukkan sebagai segment URI sesuai urutan.

Untuk contoh pertama, kita akan membuat sebuah aplikasi hello codeigniter yang sederhana. Aplikasi  tersebut  akan  diletakkan  di  folder  hello  dari  htdoc  anda,  sehingga  anda  dapat

mengaksesnnya dengan membuka url http://localhost/hello. Perhatikan URL Berikut ini:

http://localhost/hello/index.php/blog/

Pada contoh di atas, CodeIgniter akan berusaha untuk menemukan sebuah controller bernama blog pada file blog.php, kemudian menampilkannya ke browser. Mari kita coba membuat sebuah controller sederhana sehingga dapat melihat apa yang terjadi. Dengan menggunakan teks editor, buatlah file bernama blog.php di dalam folder application/controller. Setelah itu buatlah sebuah

kelas Blog yang merupakan turunan dari kelas CI_Controller.

<?php if ( ! defined(‘BASEPATH’))

exit(‘No direct script access allowed’);

class Blog extends CI_Controller {

function  construct()

{

parent:: construct();

}

function index()

{

echo “Haloo.. saya adalah contoh codeigniter pertama”;

}

}

/* End of file Blog.php */

/* Location: ./application/controllers/blog.php */

Setelah itu apa yang terjadi? Coba buka situs Anda dengan menggunakan URL seperti ini:

http://localhost/index.php/blog/

Tampilan Aplikasi Hello Codeigniter

Jika Anda melakukannya dengan benar, maka akan tampak tulisan Hello.. saya adalah contoh CodeIgniter pertama. Sekedar mengingatkan kembali, ketentuan penamaan class (baik controller maupun library) harus dimulai dengan huruf besar. Contoh:

<?php

class Blog extends CI_Controller {

}

Berikut ini contoh yang salah :

<?php

class blog extends CI_Controller {

}

Pada contoh di atas nama fungsi yang dipanggil adalah index (). Fungsi “Index” akan selalu dibaca secara default jika segmen kedua dari URI kosong. Cara lain untuk menampilkan “Hello CodeIgniter” adalah dengan mengakses url berikut:

localhost/index.php/blog/index/

Segmen kedua dari URI yang menentukan fungsi mana yang akan dipanggil dari controller. Mari kita coba menambahkan fungsi baru ke controller:

<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);

class Blog extends CI_Controller {

function  construct()

{

parent::

}

construct();

function index()

{

echo “Haloo.. saya adalah contoh codeigniter pertama”;

}

function komentar()

{

echo “Ini adalah fungsi komentar”;

}

}

/* End of file Blog.php */

/* Location: ./application/controllers/blog.php */

Sekarang cobalah panggi URL berikut untuk melihat fungsi komentar:

localhost/index.php/blog/komentar/

Maka  hasilnya  akan  menampilkan  pesan  “Ini  Fungsi  Komentar”.  Jika  ingin  mengisi  variabel

$param maka Anda tinggal menambahkan sebuah URI lagi setelah Blog. Biasanya parameter ketiga atau lebih digunakan sebagai parameter (kecuali Anda menambahkan folder di dalam folder controller). Sebagai contoh URI yang disertai parameter seperti ini:

localhost/index.php/blog/komentar/tutorial-ci/123

Fungsi post pada controller dapat memiliki dua parameter yang akan dilewatkan pada URI segmen 3  dan  4  (  “tutorial-ci”  dan  “123”).  Jadi  dapat  disimpulkan  bahwa  URI  yang  dipanggil  dapat ditunjukkan seperti ini:

localhost/index.php/[Controller]/[Fungsi]/[param]/[param]/…

Codeigniter Tips

Mendefinisikan Default Controller

Seperti halnya Controller yang memiliki fungsi default yang di eksekusi, CodeIgniter juga memililiki Controller default untuk di panggil atau dijalankan. Untuk menentukan default controller, buka folder application/config/routes.php dan ubah variabel ini pada file routes.php:

$route[‘default_controller’] = ‘Blog‘;

Dimana Blog adalah nama kelas controller yang ingin digunakan. Jika sekarang hanya memanggil file index.php utama, tanpa menentukan segmen URI apapun, maka secara default Anda akan melihat pesan Hello Codeigniter.

Controller dan View

Pada contoh program Hello CodeIgniter diatas adalah cara untuk menampilkan tulisan “hello

CodeIgniter” secara langsung di controller. Namun sebenarnya hal tersebut bisa dilakukan di view. Sebagai contoh: tuliskan kode program di bawah ini pada file application/controller/blog.php :

<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);

class Blog extends CI_Controller {

function  construct()

{ parent::

}

construct();

function index()

{

$this->load->view(“hello_codeigniter”);

}

}

/* End of file Blog.php */

/* Location: ./application/controllers/ Blog.php */

Selanjutnya        buatlah        file        hello_CodeIgniter.php        di        folder        application>view

(application/view/hello_codeIgniter.php) yang berisi tulisan:

<h1> Hello saya adalah view </h1>

Maka kode diatas   akan memberikan hasil yang sama dengan contoh kasus pertama (tanpa menggunakan view), yang berbeda hanya tulisannya saja.

Sebuah View sebenarnya hanyalah sebuah halaman web atau bagian dari halaman web, seperti sebuah header, footer, sidebar, dan lain-lain. Bahkan, View bisa menjadi fleksibel karena view dapat dimasukkan ke dalam view yang lain jika dibutuhkan. Untuk memanggil file view dapat digunakan fungsi seperti berikut ini (perhatikan baris 12)::

$this->load->view(‘nama_view‘);

Nama_view  adalah  nama file  view  Anda.  Dan  file  tersebut  harus  diletakkan  di  dalam  folder application/view.

Fungsi view sendiri memiliki 3 parameter:

  1. 1. Nama file  view  –  Nama  file  yang  hendak  di-load  yang  terletak  di  dalam  folder application/view
  1. 2. Data Parameter – Parameter ini digunakan untuk melewatkan data dari controller ke dalam view.

Contoh: buatlah file controller dengan nama blog.php dengan kode program seperti berikut ini:

<?php

if (! defined(‘BASEPATH’))

exit(‘No direct script access allowed’);

class Blog extends CI_Controller {

function  construct()

{

parent:: construct();

}

function index()

{

$data[‘judul’]=”Judul blog”;

$data[‘isi’]=”Isi blog”;

$this->load->view(“blog_view”,$data);

}

}

/* End of file Blog.php */

/* Location: ./application/controllers/ Blog.php */

Selanjutnya buatlah file view bernama blog_view.php dengan kode program seperti berikut ini:

<h1><?php echo $judul;?></h1>

<p><?php echo $isi; ?></p>

<p><br />Page rendered in {elapsed_time} seconds</p>

Jika halaman blog.php dipanggil maka tampilannya kurang lebih seperti berikut:

  1. 3. Output Parameter –  Parameter ini akan di set true jika kita ingin menyimpan hasil view ke  dalam  sebuah variabe Jika  kita  mengambil contoh  code  controller blog sebelumnya maka kita tinggal mengubah cara pemanggilan view menjadi

$out = $this->load->view(“blog_view”,$data,true);

Code  diatas  berarti  kita  akan  menyimpan  hasil  view  kedalam  sebuah  variabel. Contohnya :

<?php if ( ! defined(‘BASEPATH’)) exit(‘No direct script access allowed’);

class Blog extends CI_Controller {

function  construct()

{

parent::

}

construct();

function index()

{

$this->load->view(“hello_codeigniter”);

}

function view()

{

$data[‘judul’] = “Judul blog”;

$data[‘isi’] = “Isi blog”;

$out = $this->load->view(“blog_view”,$data,true);

echo $out;

}

}

Mempercantik URL Codeigniter

Jika kita memperhatikan url yang ada di website kompas.com, okezone.com ayau bejubel.com maka kita akan menemukan url yang unik. Contohnya http://bejubel.com/jual/pakaian-wanita , seakan-akan url tersebut bukan lah berasal dari script php biasa. Untuk membuat url seperti diatas

kita  bisa menggunakan settingan codeigniter dan  file  .htaccess.  adapun  langkah  yang  dapat dilakukan adalah :

  1. Membuat file .htaccess di folder root aplikasi anda. Adapun isi dari difile .htaccess adalah

RewriteEngine on

RewriteCond $1 !^(index\.php|images|robots\.txt) RewriteRule ^(.*)$ /index.php/$1 [L]

  1. Mengubah  konfigurasi   application/configs/config.php.   Membuang   “index.php”   pada

$config[‘index_page’] = “index.php”; menjadi $config[‘index_page’] = “”; di file application/config/config.php

Dengan menyelesaikan tahap kedua anda telah bisa ngehilangkan index.php pada url misalnya   url   http://localhost/hello/index.php/blog/   sudah   dapat   diakses   dengan   url http://localhost/hello/blog/ tanpa index.php lebih menari bukan?

Dengan sampai pada tahap kedua sebenarnya sudah cukup untuk membuat  url yang menarik. Selain itu untuk lebih advance lagi kita dapat menggunakan konfigurasi application/config/router.php.

 

Tinggalkan Balasan

%d blogger menyukai ini: