5. 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 bagianbagian diantaranya:

06

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.

07

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

08

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]/..

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:

  • Nama file view – Nama file yang hendak di-load yang terletak di dalam folder application/view
  • 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:

09

  • Output Parameter –  Parameter ini akan di set true jika kita ingin menyimpan hasil view ke dalam sebuah variabel. 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 :

  • 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]


 

  • 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

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 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.

Sumber : Buku Framework CodeIgniter

 

Leave a comment

May 2024
M T W T F S S
 12345
6789101112
13141516171819
20212223242526
2728293031  
terbanyak dipilih
  • None